Django使用QQ邮箱发送邮件
Django使用QQ邮箱发送邮件
1、创建Django项目
- 任意文件夹下执行命令
E:\Python39\Scripts\django-admin.exe startproject django_email_learn
- django-admin.exe路径(Python安装目录下的Scripts文件夹)
项目结构
2、添加QQ邮箱配置信息
以QQ邮箱为例,先获取授权码
可以参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
- 登录QQ邮箱
- 点击设置
点击账户、点击开启POP3/SMEP服务
点击开启后验证密保,然后根据操作发送短信
然后你就得到了你的授权码,假设为(My authorization code)
配置账户信息到设置中
在django_email_learn/settings.py中添加代码
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = '1310693853@qq.com'
EMAIL_HOST_PASSWORD = 'My authorization code'
说明:
- EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
声明后端我们的Django项目将使用与SMTP服务器连接。
- EMAIL_HOST = 'smtp.qq.com'
申明电子邮件主机
下表列出了常见提供商对应的 SMTP 服务器主机:
电子邮件提供商 | SMTP 服务器主机 |
---|---|
Gmail | smtp.gmail.com |
Outlook/Hotmail | smtp-mail.outlook.com |
雅虎 | smtp.mail.yahoo.com |
QQ邮箱 | smtp.qq.com |
- EMAIL_PORT = 587
该EMAIL_PORT
设置必须设置为587
,因为它是大多数 SMTP 服务器的默认端口。对于个人电子邮件提供商而言,情况仍然如此。
此端口与 TLS 加密一起使用,以确保电子邮件发送的安全性。
- EMAIL_USE_TLS = True
传输层安全(TLS) 是一种跨 Web 使用的安全协议,用于加密 Web 应用程序 (Django) 和服务器 (SMTP 服务器) 之间的通信。
- EMAIL_HOST_USER = '1310693853@qq.com'
个人电子邮件地址
- EMAIL_HOST_PASSWORD = 'My authorization code'
刚才获取的授权码
3、发送邮件
打开CMD运行
python manage.py shell
发送邮件代码
from django.conf import settings
from django.core.mail import send_mail
send_mail(
subject='A cool subject',
message='A stunning message',
from_email=settings.EMAIL_HOST_USER,
recipient_list=['1310693853@qq.com', '1150646501@qq.com'])
subject 是主题
message 是消息正文
recipient_list 是接收人
输入quit()退出shell窗口
当然你也可以在程序中发送,而不是通过shell窗口,你可以在任意地方调用send_email(),然后发送你的邮件,用shell的方式是可以不用启动服务,就可以使用他们的模块。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示