1)首先注册一个邮箱,这里以163邮箱为例 2)注册之后登录,进行如下修改 找到设置,设置一个授权码,授权码的目的仅仅是让你有权限发邮件,但是不能登录到邮箱进行修改,发送邮件时,可以代替密码 3)然后在项目里的配置文件settings.py中进行一些配置: 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 = ‘*********’ #发送邮件的邮箱密码(这里使用的是授权码) 复制代码 4)在views.py中制作一个简单的邮件并发送: from django.core.mail import send_mail send_mail的参数分别是 邮件标题,邮件内容,发件箱(settings.py中设置过的那个),收件箱列表(可以发送给多个人),失败静默(若发送失败,报错提示我们) send_mail(‘Subject here’, ‘Here is the message.’, ‘charleschen@xmdaren.com’,[‘to@example.com’], fail_silently=False) 如果不报错就表示发送成功了,可以打开邮箱看一下了
如果报错:python 发送邮件报错问题解决–[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056) 主要是下面两种连接邮件服务器的误操作引起的(是否开启了TLS) smtplib.SMTP(self.host, self.port, timeout=300) 【TLS 禁用时使用】 或 smtplib.SMTP_SSL(self.host, self.port, timeout=300) 【开启TLS 时使用】 以163 邮箱配置为例 host=“smpt.163.com” port=25 【不使用TLS】 或 port=465 【使用TLS】