django学习笔记5-邮件

前端之家收集整理的这篇文章主要介绍了django学习笔记5-邮件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近将邮件验证功能部署到阿里云服务器上,不能发。
到服务器上看,连接超时

原来,阿里云服务器不允许使用25端口访问外部smtp服务器
必须使用465加密端口服务器

settings里面需要如此配置:

EMAIL_HOST = 'smtp.xxx.com'
EMAIL_HOST_USER = 'xxx@xxx.com'
EMAIL_HOST_PASSWORD = 'xxx'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
EMAIL_FROM = 'xxx@xxx.com'

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

默认是25,如果需要使用ssl加密465端口,或者tls加密587端口,需要配置EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

同时,也简单了解了django使用的发邮件标准库smtplib
邮件例子:

# coding=utf-8
import smtplib
from email.mime.text import MIMEText

from_addr = 'xxx@xxx.com'
password = 'xxx'
smtp_server = 'smtp.xxx.com'
to_addr = 'xxx@xxx.com'

msg = MIMEText('你好,测试邮件','plain','utf-8')

server=smtplib.SMTP_SSL(smtp_server,465)
server.set_debuglevel(1)
server.login(from_addr,password)
server.sendmail(from_addr,[to_addr],msg.as_string())
server.quit()

猜你在找的Django相关文章