我试图通过我的Django应用程序发送电子邮件。我在local_settings.py
:
EMAIL_HOST = 'smtp.privateemail.com'
EMAIL_HOST_USER = 'support@mydomain.com'
EMAIL_HOST_PASSWORD = 'myPassword'
EMAIL_PORT = 587
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
我在views.py
:
send_mail(
subject="Subject here",
message="Hello.",
from_email=settings.EMAIL_HOST_USER,
recipient_list=["someone@gmail.com],
fail_silently=False,
)
但是当send_mail()
执行时,我收到此错误:
{u'someone@gmail.com': (504, '5.5.2 <webmaster@localhost>: Sender address rejected: need fully-qualified address')}
为什么呢?如何使我的应用程序正确发送电子邮件?
答案 0 :(得分:2)
错误消息表明它需要一个完全限定的地址。基本上,域名部分应该是完全限定的域名,例如removeDuplicates(arr) {
const map = new Map();
arr.forEach(v => map.set(v.abc_buildingid, v)) // having `abc_buildingid` is always unique
return [...map.values()];
}
// this hook is better to start fetching data than componentWillMount
componentDidMount() {
fetch("https://api.myjson.com/bins/b1i6q", {
method: "GET",
headers: {
Accept: "application/json",
"Content-type": "application/json"
}
})
.then(results => results.json())
.then(data => this.setState({ data: this.removeDuplicates(data) })); // use the defined method
} //end life cycle
,而您使用window.stencilUtils.api.product.getById(productID, { template: 'products/template' }, (err, response) => {
console.log(response);
});
。
从您的实际域名地址发送电子邮件,该邮件应该被接受。
还有一件事。您还需要验证您的域名,以便Gmail知道您实际拥有它。否则,Gmail会将您域中发送的电子邮件标记为垃圾邮件,或者只是将您列入黑名单并拒绝您域中的所有邮件。
域身份验证是一个相当广泛的主题。 Gmail发布了一些关于发送邮件的指南,这是一个很好的起点。请参阅Authentication & Identification部分了解详情。
答案 1 :(得分:0)
缺少报价
send_mail(
subject="Subject here",
message="Hello.",
from_email=settings.EMAIL_HOST_USER,
recipient_list=["someone@gmail.com"], # <---
fail_silently=False,
)
并确保您在EMAIL_HOST_USER
答案 2 :(得分:0)
将Tls设置更改为EMAIL_USE_SSL = True 私人邮件仅支持SSl