Python django实现简单的邮件系统发送邮件功能
发布时间 - 2026-01-11 02:20:05 点击率:次本文实例讲述了Python django实现简单的邮件系统发送邮件功能。分享给大家供大家参考,具体如下:

django邮件系统
Django发送邮件官方中文文档
总结如下:
1、首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了。
2、send_mail()、send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage。
3、异常处理防止邮件头注入。
4、一定要弄懂Email backends 邮件发送后端
5、多线程的邮件发送。
个人简单配置如下:
首先是settings.py文件
#settings.py #邮件配置 EMAIL_HOST = 'smtp.gmail.com' #SMTP地址 EMAIL_PORT = 25 #SMTP端口 EMAIL_HOST_USER = 'pythonsuper@gmail.com' #我自己的邮箱 EMAIL_HOST_PASSWORD = '******' #我的邮箱密码 EMAIL_SUBJECT_PREFIX = u'[CoorCar网]' #为邮件Subject-line前缀,默认是'[django]' EMAIL_USE_TLS = True #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false #管理员站点 SERVER_EMAIL = 'xinxinyu2011@163.com' #The email address that error messages come from, such as those sent to ADMINS and MANAGERS.
这里推荐:各大型邮箱smtp服务器及端口收集
各大型邮箱smtp服务器及端口收集:
新浪邮箱smtp服务器
外发服务器:smtp.vip.sina.com
收件服务器:pop3.vip.sina.com
新浪免费邮件
外发服务器:smtp.sina.com.cn
收件服务器:pop3.sina.com.cn
163邮箱smtp服务器
pop: pop.163.com
smtp: smtp.163.com
QQ邮箱smtp服务器及端口
接收邮件服务器:imap.exmail.qq.com,使用SSL,端口号993
发送邮件服务器:smtp.exmail.qq.com,使用SSL,端口号465或587
yahoo邮箱smtp服务器
接:pop.mail.yahoo.com.cn
发:smtp.mail.yahoo.com
126邮箱smtp服务器
pop: pop.126.com
smtp: smtp.126.com
新浪免费邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
新浪VIP邮箱
POP3:pop3.vip.sina.com
SMTP:smtp.vip.sina.com
SMTP端口号:25
新浪企业邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
雅虎邮箱
POP3:pop.mail.yahoo.cn
SMTP:smtp.mail.yahoo.cn
SMTP端口号:25
搜狐邮箱
POP3:pop3.sohu.com
SMTP:smtp.sohu.com
SMTP端口号:25
TOM邮箱
POP3:pop.tom.com
SMTP:smtp.tom.com
SMTP端口号:25
Gmail邮箱
POP3:pop.gmail.com
SMTP:smtp.gmail.com
SMTP端口号:587 或 25
QQ邮箱
POP3:pop.exmail.qq.com
SMTP:smtp.exmail.qq.com
SMTP端口号:25
263邮箱
域名:263.net
POP3:263.net
SMTP:smtp.263.net
SMTP端口号:25
域名:x263.net
POP3:pop.x263.net
SMTP:smtp.x263.net
SMTP端口号:25
域名:263.net.cn
POP3:263.net.cn
SMTP:263.net.cn
SMTP端口号:25
域名:炫我型
POP3:pop.263xmail.com
SMTP:smtp.263xmail.com
SMTP端口号:25
21CN 免费邮箱
POP3:pop.21cn.com
SMTP:smtp.21cn.com
IMAP:imap.21cn.com
SMTP端口号:25
21CN 经济邮邮箱
POP3:pop.21cn.com
SMTP:smtp.21cn.com
SMTP端口号:25
21CN 商务邮邮箱
POP3:pop.21cn.net
SMTP:smtp.21cn.net
SMTP端口号:25
21CN 快感邮箱
POP3:vip.21cn.com
SMTP:vip.21cn.com
SMTP端口号:25
21CN Y邮箱
POP3:pop.y.vip.21cn.com
SMTP:smtp.y.vip.21cn.com
SMTP端口号:25
中*任我邮邮箱
POP3:rwpop.china.com
SMTP:rwsmtp.china.com
SMTP端口号:25
中*时尚、商务邮箱
POP3:pop.china.com
SMTP:smtp.china.com
SMTP端口号:25
那么发送邮件如下:
def setEmail(request):
if request.method == "POST":
# 方式一:
# send_mail('subject', 'this is the message of email', 'pythonsuper@gmail.com', ['1565208411@qq.com','1373763906@qq.com'], fail_silently=True)
# 方式二:
# message1 = ('subject1','this is the message of email1','pythonsuper@gmail.com',['1565208411@qq.com','xinxinyu2011@163.com'])
# message2 = ('subject2','this is the message of email2','pythonsuper@gmail.com',['1373763906@qq.com','xinxinyu2011@163.com'])
# send_mass_mail((message1,message2), fail_silently=False)
# 方式三:防止邮件头注入
# try:
# send_mail(subject, message, from_email, recipient_list, fail_silently, auth_user, auth_password, connection)
# except BadHeaderError:
# return HttpResponse('Invaild header fount.')
# 方式四:EmailMessage()
#首先实例化一个EmailMessage()对象
# em = EmailMessage('subject','body','from@example.com',['1565208411@qq.com'],['xinxinyu2011@163.com'],header={'Reply-to':'another@example.com'})
#调用相应的方法
# 方式五:发送多用途邮件
subject,form_email,to = 'hello','from@example.com','1565208411@qq.com'
text_content = 'This is an important message'
html_content = u'<b>激活链接:</b><a href="http://www.baidu.com" rel="external nofollow" >http:www.baidu.com</a>'
msg = EmailMultiAlternatives(subject,text_content,form_email,[to])
msg.attach_alternative(html_content, 'text/html')
msg.send()
# 发送邮件成功了给管理员发送一个反馈
# mail_admins(u'用户注册反馈', u'当前XX用户注册了该网站', fail_silently=True)
return HttpResponse(u'发送邮件成功')
return render_to_response('common/test.html')
截图如下:
class Send_mail(object):
'''发送邮件'''
def __init__(self,sender,passward,receivers):
self.sender=sender
self.password=passward
self.receivers=receivers
def send(self,ShowText,Name,Header_show):
'''
:param ShowText: 发送内容
:param Name: 发送者
:param Header_show: 发送文件抬头
:return:
'''
message = MIMEText('%s'%(ShowText), 'plain', 'utf-8')
message['From'] = Header("%s"%(Name), 'utf-8')
message['To'] = Header("jiayuguang@qq.com")
message['Subject'] = Header("%s"%(Header_show),'utf-8')
smtpObj=smtplib.SMTP('smtp.163.com')
smtpObj.set_debuglevel(1)
smtpObj.login(self.sender,self.password)
smtpObj.sendmail(self.sender,self.receivers,message.as_string())
smtpObj.quit()
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# django
# 邮件系统
# 发送邮件
# Django实现发送邮件找回密码功能
# Django发送邮件和itsdangerous模块的配合使用解析
# django中SMTP发送邮件配置详解
# Django实现发送邮件功能
# django 发送邮件和缓存的实现代码
# Django发送邮件功能实例详解
# 端口号
# 新浪
# 免费邮箱
# 各大
# 器及
# 用户注册
# 自己的
# 邮件发送
# 都是
# 进阶
# 操作技巧
# 文档
# 相关内容
# 一遍
# 数据结构
# 雅虎
# 给大家
# 这份
# 搜狐
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解Android——蓝牙技术 带你实现终端间数据传输
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Laravel如何实现API资源集合?(Resource Collection教程)
如何在宝塔面板创建新站点?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
如何选择PHP开源工具快速搭建网站?
phpredis提高消息队列的实时性方法(推荐)
制作公司内部网站有哪些,内网如何建网站?
iOS中将个别页面强制横屏其他页面竖屏
Laravel怎么实现模型属性的自动加密
如何在VPS电脑上快速搭建网站?
如何在宝塔面板中创建新站点?
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
做企业网站制作流程,企业网站制作基本流程有哪些?
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel如何处理和验证JSON类型的数据库字段
网站页面设计需要考虑到这些问题
原生JS实现图片轮播切换效果
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
青岛网站建设如何选择本地服务器?
如何在万网ECS上快速搭建专属网站?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何用搬瓦工VPS快速搭建个人网站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
如何在新浪SAE免费搭建个人博客?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤
浅谈Javascript中的Label语句
PHP正则匹配日期和时间(时间戳转换)的实例代码
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
原生JS获取元素集合的子元素宽度实例
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
JavaScript如何操作视频_媒体API怎么控制播放
如何在自有机房高效搭建专业网站?
iOS验证手机号的正则表达式
Bootstrap CSS布局之列表
如何快速搭建高效WAP手机网站?
MySQL查询结果复制到新表的方法(更新、插入)
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)

