django 发送邮件(阿里云邮箱)

setting.py


# 发送邮件参数
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.mxhichina.com'
EMAIL_PORT = 25
# 发送邮件的邮箱账号
EMAIL_HOST_USER = 'xxxx'
# 在邮箱中设置的客户端授权密码或者密码
EMAIL_HOST_PASSWORD = 'xxxx'
# 收件人看到的发件人
EMAIL_FROM = '改建官网<xxx账号>'

我们传统使用的比较简单的是 STMP 25端口收发邮件

但是最新阿里云服务器封掉了25端口

在终端输入命令行 ,可测试25端口是否可连接。

telnet smtp.163.com 25 

有返回消息即成功

客服的解释一下就说明的问题:25端口封掉了 时间是2016年9月底以后新购买的服务器。

 解决:

setting.py

EMAIL_USE_SSL = True
EMAIL_PORT = 465
# 发送邮件参数
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.mxhichina.com'
EMAIL_USE_SSL = True  # ssl方式连接
EMAIL_PORT = 465
# 发送邮件的邮箱账号
EMAIL_HOST_USER = 'xxxx'
# 在邮箱中设置的客户端授权密码或者密码
EMAIL_HOST_PASSWORD = 'xxxx'
# 收件人看到的发件人
EMAIL_FROM = '改建官网<xxx账号>'

views.py

from django.core.mail import send_mail
from django.conf import settings


def send_verify_mail(send_email, now_time, name, mobile, email,company, content):
    send_mail(
        subject='网站留言通知',
        message='',
        from_email=settings.EMAIL_FROM,
        recipient_list=[send_email],
        html_message='<p>尊敬的领导您好!</p>' \
                     # '<p>感谢您使用本网站。</p>' \
                     '<p>网站在:%s 分,收到: %s 的留言,手机号为:%s 。邮箱地址为:%s 。工作单位为:%s 留言内容::%s 。</p>' \
                     '<p>请尽快回复,谢谢。</p>' \
                     '<p>更多详情请点击<a href=www.baidu.com>改建官网</a></p>' % (now_time, name, mobile, email, company, content)
    )

猜你喜欢

转载自blog.csdn.net/weixin_42368421/article/details/84956086