在Django中发送邮件很简单,只需要使用django.core.mail
中的send_mail
函数即可实现。
具体来说,需要一些简单配置:
1.在邮箱内开通smtp等服务,如下图所示。126邮箱开通的过程中要设置客户端授权码(授权码后面会用到)。
2.settings.py中的设置
在django中的settings.py中添加如下代码:
EMAIL_HOST = 'smtp.126.com' # 发送邮件的服务器地址
EMAIL_HOST_USER = '替换成自己的邮箱用户名' # 不含‘@126.com’的后缀
EMAIL_HOST_PASSWORD = '替换成自己的邮箱授权码' # 非邮箱登录密码
EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = 'XXXX@126.com' # 设置默认的发件人,不设置的话,本例中不会出现问题,但是在实际django中实际运用时,会出现问题,参见 http://blog.chinaunix.net/uid-21142030-id-5768057.html
3.代码文件
在settings.py的同级目录中,新建一个Python代码文件(后缀名为.py
),输入如下代码:
import os
from django.core.mail import send_mail
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog_shizhan.settings") # 设置django的环境变量,不设置的话,不能读取到步骤2中的EMAIL_HOST等参数。
send_mail(
'邮件主题',
'邮件内容',
'xxxx@126.com', # 发件人
['xxxx@qq.com'], # 收件人,必须是列表类型
fail_silently=False,
)
print('Done!')
运行该代码文件,即可发送邮件了。
网友评论