from_email不能在django EmailMessage中使用,而是使用EMAIL_HOST_USER

时间:2014-07-09 13:24:33

标签: django email sendmessage django-email

我正在尝试使用django的内置电子邮件课程EmailMessage来发送包含附件的电子邮件

def send_email(path, from_email, to_list, file_name):
    subject = 'Output for csv file %s'%(file_name,)
    body = 'Please find the attached output file your csv input file %s'%(file_name,)
    message = EmailMessage(subject, body, from_email, to_list)
    message.attach_file(path)
    message.send()

send_email('/home/user/hello.csv', 'myself@gmail.com', ['client@gmail.com'], 'functional_test')

settings.py中的电子邮件设置

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'actual@myhost.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

因此,从上述设置中,EMAIL_HOST_USER为actual@myhost.com,当我调用send_email函数时,我将from_email指定为myself@gmail.com

所以当我收到我从actual@myhost.com而不是myself@gmail.com收到的电子邮件时,即使我们指定了不同的from_email

我可以做些什么来接收来自myself@gmail.com地址的邮件?

2 个答案:

答案 0 :(得分:0)

遇到同样的问题,@ HaydenCrocker是正确的。

这是Gmail的限制因素,如果确实要从_email发送给客户,则需要更改其他电子邮件服务器。

答案 1 :(得分:-2)

您必须添加DEFAULT_FROM_EMAIL,请参阅the documentation.