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
MAIL
command (the elements are uppercase strings; example:['BODY=8BITMIME', 'SMTPUTF8']
). - rcpt_options:
- same as mail_options but for the
RCPT
command. Currently noRCPT TO
options 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.