Django的邮件发送以及云服务器上遇到的问题

邮件发送

首先我们的邮箱要开通smtp服务,然后就可以在settings中配置了

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = False   #是否使用TLS安全传输协议(用于在两个通信应用程序之间提供保密性和数据完整性。)
EMAIL_USE_SSL = True    #是否使用SSL加密,qq企业邮箱要求使用
EMAIL_HOST = 'smtp.163.com'   #发送邮件的邮箱 的 SMTP服务器,这里用了163邮箱
EMAIL_PORT = 25     #发件箱的SMTP服务器端口
EMAIL_HOST_USER = 'charleschen@xmdaren.com'    #发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = '*********'         #发送邮件的邮箱密码(这里使用的是授权码)
# DEFAULT_FROM_EMAIL = 'tuweizhong <tuweizhong@163.com>' 这样别人收到的邮件中就会有你设定的名称
# 注意EMAIL_USE_TLS 与EMAIL_USE_SSL 是互斥的

# 发送邮件
from django.core.mail import send_mail
send_mail('标题', '内容', '发送邮件的邮箱地址',
    ['收件人邮箱'], fail_silently=False)

# 一次性发送多个邮件
from django.core.mail import send_mass_mail
message1 = ('标题', '内容', '发送邮件的邮箱地址', ['收件人邮箱1', '收件人邮箱'2])
message2 = ('标题', '内容', '发送邮件的邮箱地址', ['收件人邮箱'])
 
 
send_mass_mail((message1, message2), fail_silently=False)

云服务器的问题

本来代码在自己的机器上跑的是没有问题的,但是放到云服务器上就不行了,发送邮件时总会超时,经过大佬指点和一番百度,终于查到了问题所在,

原因竟然是: 阿里云新开通的ECS云服务器已默认封闭 25 邮件发送端口

所以,换端口吧!

 

posted @ 2018-06-19 22:02  瓜田月夜  阅读(1250)  评论(0编辑  收藏  举报