我一直试图让用户通过表单向我的个人帐户发送电子邮件。一开始它是给我看的
socket.gaierror: [Errno 11004] getaddrinfo failed
我通过在设备中安装和配置hMailServer解决了这个错误。现在,当我试图通过朋友的电子邮件发送邮件时,它会用我自己的帐户发送电子邮件。当我从设置文件中删除MAIL_HOST_USER = 'my_email'
时,它显示
smtplib.SMTPSenderRefused
标题中提到的错误。任何建议或相关链接将不胜感激。在
我的代码是:
在设置.py在
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_PORT = 25
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'my_email'
EMAIL_HOST_PASSWORD = 'my_password'
EMAIL_USE_TLS = True
在视图.py在
^{pr2}$
注意,你可以配置gmail来代表googleapps组织(由gmail提供支持)中的任何发送地址来转发消息,但正如danielhepper所指出的,这不是gmail个人地址的默认值。也就是说,我敢打赌,OP的问题很可能是端口设置不正确。在gmail中,对于使用SMTP的TLS,端口设置应该是465或587。在
Gmail和其他电子邮件提供商或正确配置的邮件服务器一样,不允许您设置任意的
From
地址。一个允许这一点的电子邮件服务器将被垃圾邮件发送者滥用,并很快发现自己在垃圾邮件黑名单上。在您可以做的是将
my_email
设置为sender,并添加一个Reply-To
头,其中包含通过表单提供的电子邮件地址。在您必须创建一个
EmailMessage
实例并调用send()
:请注意,Gmail对通过这种方式发送的电子邮件数量有一些限制。确保您不会意外地阻止您的帐户。在
相关问题 更多 >
编程相关推荐