Django从零开始——发送邮件

本文介绍了如何在Django中设置SMTP服务器发送邮件,包括在settings.py中的配置以及使用send_mail()函数进行邮件发送的步骤。通过示例展示了利用Google SMTP服务发送邮件,并解释了参数含义及发送状态检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Django发送邮件比较简单,需要一个本地或者外部的SMTP服务器,然后在settings.py文件中加入如下设置:

EMAIL_HOST:邮件主机,默认是localhost
EMAIL_PORT:SMTP服务端口,默认是25
EMAIL_HOST_USER:SMTP服务器的用户名
EMAIL_HOST_PASSWORD:SMTP服务器的密码
EMAIL_USE_TLS:是否使用TLS进行连接
EMAIL_USE_SSL:是否使用SSL进行连接

如果无法使用任何SMTP服务器,则可以将邮件打印在命令行窗口中,在settings.py中加入下列这行:

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

这样会把所有的邮件内容显示在控制台,非常便于测试。

如果没有本地SMTP服务器,可以使用很多邮件服务供应商提供的SMTP服务,以下是使用Google的邮件服务示例:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'your_account@gmail.com'
EMAIL_HOST_PASSWORD = 'your_password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
#备注:在腾讯企业邮箱中使用django必须设置EMAIL_USE_SSL = True,否则发送失败

输入python manage.py shell,在命令行环境中试验一下发送邮件的指令:

#  send_mail的参数分别是  邮件标题,邮件内容,发件箱(settings.py中设置过的那个),收件箱列表(可以发送给多个人),失败静默(若发送失败,报错提示我们)
from django.core.mail import send_mail
send_mail('Django mail', 'This e-mail was sent with Django.', 'your_account@gmail.com', ['your_account@gmail.com'], fail_silently=False)

send_mail()方法的参数分别是邮件标题、邮件内容、发件人和收件人地址列表,最后一个参数fail_silently=False表示如果发送失败就抛出异常。如果看到返回1,就说明邮件成功发送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值