From fa8ae0ecf6d10e165b023dca2d8e6241f8a6c614 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 16 Dec 2013 14:48:17 +0530 Subject: [PATCH] [minor] [smtp] always add Reply-To header, add Date header --- webnotes/utils/email_lib/smtp.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/webnotes/utils/email_lib/smtp.py b/webnotes/utils/email_lib/smtp.py index 34f0501910..85c5be9825 100644 --- a/webnotes/utils/email_lib/smtp.py +++ b/webnotes/utils/email_lib/smtp.py @@ -11,6 +11,7 @@ import webnotes from webnotes import conf from webnotes import msgprint from webnotes.utils import cint, expand_partial_links +import email.utils class OutgoingEmailError(webnotes.ValidationError): pass @@ -196,12 +197,13 @@ class EMail: self.msg_root['Subject'] = self.subject.encode("utf-8") self.msg_root['From'] = self.sender.encode("utf-8") self.msg_root['To'] = ', '.join([r.strip() for r in self.recipients]).encode("utf-8") - if self.reply_to and self.reply_to != self.sender: - self.msg_root['Reply-To'] = self.reply_to.encode("utf-8") - + self.msg_root['Date'] = email.utils.formatdate() + if not self.reply_to: + self.reply_to = self.sender + self.msg_root['Reply-To'] = self.reply_to.encode("utf-8") if self.cc: self.msg_root['CC'] = ', '.join([r.strip() for r in self.cc]).encode("utf-8") - + def as_string(self): """validate, build message and convert to string""" self.validate() @@ -220,6 +222,8 @@ class EMail: smtpserver = SMTPServer() if hasattr(smtpserver, "always_use_login_id_as_sender") and \ cint(smtpserver.always_use_login_id_as_sender) and smtpserver.login: + if not self.reply_to: + self.reply_to = self.sender self.sender = smtpserver.login smtpserver.sess.sendmail(self.sender, self.recipients + (self.cc or []),