return email
-def send_simple_mail(sender, receiver, subject, msgtxt, attachments=None, usergenerated=False, cc=None, replyto=None, sendername=None, receivername=None, messageid=None):
+def send_simple_mail(sender, receiver, subject, msgtxt, attachments=None, usergenerated=False, cc=None, replyto=None, sendername=None, receivername=None, messageid=None, suppress_auto_replies=True, is_auto_reply=False):
# attachment format, each is a tuple of (name, mimetype,contents)
# content should be *binary* and not base64 encoded, since we need to
# use the base64 routines from the email library to get a properly
msg['Message-ID'] = messageid
else:
msg['Message-ID'] = make_msgid()
+ if suppress_auto_replies:
+ # Do our best to set some headers to indicate that auto-replies like out of office
+ # messages should not be sent to this email.
+ msg['X-Auto-Response-Suppress'] = 'All'
+
+ # Is this email auto-generated or auto-replied?
+ if is_auto_reply:
+ msg['Auto-Submitted'] = 'auto-replied'
+ elif not usergenerated:
+ msg['Auto-Submitted'] = 'auto-generated'
msg.attach(MIMEText(msgtxt, _charset='utf-8'))
import re
-def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False, cc=None, replyto=None, receivername=None, sendername=None, messageid=None):
+def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False, cc=None, replyto=None, receivername=None, sendername=None, messageid=None, suppress_auto_replies=True, is_auto_reply=False):
d = {
'link_root': settings.SITE_ROOT,
}
d.update(templateattr)
- send_simple_mail(sender, receiver, subject,
- template_to_string(templatename, d),
- usergenerated=usergenerated, cc=cc, replyto=replyto,
- receivername=receivername, sendername=sendername,
- messageid=messageid)
+ send_simple_mail(
+ sender, receiver, subject,
+ template_to_string(templatename, d),
+ usergenerated=usergenerated, cc=cc, replyto=replyto,
+ receivername=receivername, sendername=sendername,
+ messageid=messageid,
+ suppress_auto_replies=suppress_auto_replies,
+ is_auto_reply=is_auto_reply,
+ )
def get_client_ip(request):