process_message(peer, mailfrom, rcpttos, data, **kwargs)
Raise a NotImplementedError exception. Override this in subclasses to do something useful with this message. Whatever was passed in the constructor as remoteaddr will be available as the _remoteaddr attribute. peer is the remote host’s address, mailfrom is the envelope originator, rcpttos are the envelope recipients and data is a string containing the contents of the e-mail (which should be in RFC 5321 format).
If the decode_data constructor keyword is set to True, the data argument will be a unicode string. If it is set to False, it will be a bytes object.
kwargs is a dictionary containing additional information. It is empty unless at least one of decode_data=False or enable_SMTPUTF8=True was given as an init parameter, in which case it contains the following keys:
- mail_options:
- a list of all received parameters to the
MAILcommand (the elements are uppercase strings; example:['BODY=8BITMIME', 'SMTPUTF8']). - rcpt_options:
- same as mail_options but for the
RCPTcommand. Currently noRCPT TOoptions are supported, so for now this will always be an empty list.
Implementations of process_message should use the **kwargs signature to accept arbitrary keyword arguments, since future feature enhancements may add keys to the kwargs dictionary.
Return None to request a normal 250 Ok response; otherwise return the desired response string in RFC 5321 format.
Please login to continue.