我正在开发一个使用Django 1.7的现有项目,我们正在将我们的电子邮件服务与Amazon集成在一起。这提出了一个问题,我们无法监测哪些电子邮件是成功发送和谁的失败。因此,我正在考虑记录错误的电子邮件发送失败。目前,EmailMessage类的django.core.mail正被用于发送电子邮件,并且在任何地方为记录器添加代码将是一个肮脏的解决方案。因此,我正在考虑重写EmailMessage类,并使用我的自定义类发送电子邮件,并在那里添加登录逻辑。这是那个的代码
from django.core.mail import EmailMessage
class EmailMessaging(EmailMessage):
def send(self):
result = super(EmailMessaging, self).send()
if(result):
print 'success'
#do nothing successful
else:
print 'fail'
#failed:- add event to logger | Db | Sentry当我尝试使用myClass发送电子邮件时,它会引发一个错误:-
from email_message import EmailMessaging
message = EmailMessaging("this is the subject", "this is the body”, "sender@abc.com", ["myemailaddress@abc.com”])SMTPException:服务器不支持STARTTLS扩展
但是,如果我使用EmailMessage类,它就可以正常工作。我无法理解为什么会发生这种情况。根据我所读到的,我认为通过重写EmailMessage类,我忽略了一些导致错误的默认Config设置。是因为这个案子吗?请帮帮忙
发布于 2016-12-20 09:26:54
尝试返回类似于父类方法中的结果
class EmailMessaging(EmailMessage):
def send(self):
result = super(EmailMessaging, self).send()
if(result):
print 'success'
#do nothing successful
else:
print 'fail'
#failed:- add event to logger | Db | Sentry
return resulthttps://stackoverflow.com/questions/41238555
复制相似问题