python 之发送邮件服务[原著] 海瑞博客
Python 发送邮件
使用默认的django的发送邮件,只适用于单邮箱。
作者:海瑞博客 http://www.hairuinet.com/
setting中配置
# send e-mail
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #email后端
EMAIL_USE_TLS = False #是否使用TLS安全传输协议
EMAIL_USE_SSL = True #是否使用SSL加密,qq企业邮箱要求使用
EMAIL_HOST = 'smtp.exmail.qq.com' #发送邮件的邮箱 的 SMTP服务器,这里用了qq企业邮箱
EMAIL_PORT = 465 #发件箱的SMTP服务器端口
EMAIL_HOST_USER = 'hairui@hairuinet.com' #发送邮件的邮箱地址
EMAIL_HOST_PASSWORD = 'hairui2017HAIRUI' #发送邮件的邮箱密码
在视图中使用
from django.core.mail import send_mail
# send_mail的参数分别是 邮件标题,邮件内容,发件箱(settings.py中设置过的那个),收件箱列表(可以发送给多个人),失败静默(若发送失败,报错提示我们)
send_mail('python django 测试邮件', '你好朋友!人生苦短,我爱python!.', 'hairui@hairuinet.com',
['574601625@qq.com'], fail_silently=False)
以上有个问题就是,你配置好了,不能修改。。。网络大部分是这样写的?http://www.hairuinet.com/
如何写成动态的呢?
我们可以写一个类,初始化的时候可以将信息保存起来,通过判断是否加密验证去做处理。就可以啦!
我已经封装好了!直接拿去用吧
1 #!/usr/bin/env python 2 # -*- coding=utf-8 -*- 3 from smtplib import SMTP_SSL,SMTP 4 from email.header import Header 5 from email.mime.text import MIMEText 6 import smtplib 7 8 9 class SendMail: 10 11 def __init__(self,template_id,sendname, toname, title, content): 12 self.mail_host = 'smtp.qq.com' # 设置服务器 13 self.mail_user = 'hairui@hairuinet.com' # 用户名 14 self.mail_pass = 'hairuinet.com' # 口令 15 self.mail_port = 25 # 端口 16 self.mail_ssh = False # 是否是加密端口 17 self.content = content # 邮件内容 18 self.sendname = sendname 19 self.toname = toname 20 self.title = title # 邮件标题 21 self.encoding = "utf-8" # 邮件编码格式 22 self.sender = 'member@kylinclub.org' #发件地址 23 self.receivers = '574601624@qq.com' # 收件箱 24 25 def start(self): 26 self.msg() 27 if self.mail_ssh: 28 self.ssh() 29 else: 30 self.pt() 31 32 def msg(self): 33 self.msg = MIMEText(self.content, "plain", self.encoding) 34 self.msg["Subject"] = Header(self.title, self.encoding) 35 self.msg["from"] = self.mail_user 36 self.msg["to"] = self.toname 37 38 def ssh(self): 39 smtp = SMTP_SSL(self.mail_host) 40 smtp.set_debuglevel(0) 41 smtp.ehlo(self.mail_user) 42 smtp.login(self.mail_user,self.mail_pass) 43 smtp.sendmail(self.mail_user, self.receivers, self.msg.as_string()) 44 smtp.quit() 45 46 def pt(self): 47 server = smtplib.SMTP(self.mail_host, self.mail_port) 48 server.set_debuglevel(1) 49 server.login(self.mail_user, self.mail_pass) 50 server.sendmail(self.mail_user, [self.receivers,], self.msg.as_string()) 51 server.quit() 52 53 if __name__ == '__main__': 54 obj = SendMail(1,'海瑞网络','海瑞','密码找回','内容:这个海瑞网络发送的测试邮件',) 55 obj.start()
本文作者为原著,转载请保留本文链接!http://www.hairuinet.com/
转载于:https://www.cnblogs.com/hairuipython/p/7205858.html
python 之发送邮件服务[原著] 海瑞博客相关推荐
- python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...
原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...
- 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...
您好,欢迎来到本期"利用Python Django一步步搭建个人博客"系列的第四部分.在上一篇教程中,我们学习了如何编写URL并将其映射到页面.在我们继续之前,我们需要做的一件事是 ...
- 使用Docker 实现微服务并搭建博客,一文全掌握
转载自 使用Docker 实现微服务并搭建博客,一文全掌握 Docker 是一个容器工具,提供虚拟环境.很多人认为,它改变了我们对软件的认识. 本文,通过搭建一个博客的例子,来介绍如何使用Docke ...
- Python实现自动推本地github博客到远程仓库
Python实现自动推本地github博客到远程仓库 以前的简单版本 通过python中的os模块操作系统命令 详情可参考:Python实现一行代码推本地git到远程仓库 升级版本 本次加入了监听文件 ...
- Python 用Django创建自己的博客(2)
####开篇 Python 用Django创建自己的博客(上)中主要记录了项目的创建,项目的文件结构,后台超级用户的创建,数据库的增添数据等,这篇博客的主要是加载html静态文件和显示之间的加载逻辑等 ...
- 分布式系统中的必备良药 —— 服务治理 - Zachary_Fan - 博客园
分布式系统中的必备良药 -- 服务治理 - Zachary_Fan - 博客园
- python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送
kindle想每天看新闻,看博客, 其实自己用python写个代码就能很简单实现了. 1.kindle推送原理 kindle不仅可以买书看书,还可以自己推送内容 原理很简单,往你个人的kindle邮箱 ...
- python入门指南bl-Python Flask开源博客系统Bl
本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用: ...
- python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况
前言 最近在自学Python,正好2014 CSDN博客之星投票搞得如火如荼,拿来练练手. 环境:Win7 64位 Python 2.7: 用到了正则表达式.函数.写文件.urllib2: 没有用到线 ...
最新文章
- css input[type=file] 样式美化,input上传按钮美化
- 第五讲 计算机体系结构 内存层次
- 表格隔行变色_CSS实现鼠标悬停高亮
- windows10下安装opencv3.2+QT Creator+MingGW
- 数据库面试题【十、【非关系型数据库】和【关系型数据库】的【区别】与【优势比较】】
- android 服务
- ​电赛 | 19年全国一等奖,北航学子回忆录。
- python 中time和datetime_python中time模块与datetime模块的详解
- 2011年骑行爬山成绩记录
- ssis 计划任务_SSIS FTP任务概述
- python小游戏之圣诞树
- 6.面向对象的三大特征
- java贪吃蛇柚子功能_关于java贪吃蛇心得
- PDF文件转base64显示
- DS Storage Manager 忘记管理密码恢复
- uc/os-II的内存改进与实现TLSF算法的详解,移植实现(四)
- 制作HTML表单(文本框设置对齐等)
- 【PRD】倒推“Soul”APP产品需求文档
- 面向服务通信与面向信号通信
- 小米路由器微信连接到服务器,小米路由器怎么设置微信好友免密码直接链接上网?...
热门文章
- pyqt 槽任意参数_根据效果及设计参数选择合适的洗墙灯
- 解压出来的文件md5会改变吗_监控Linux文件变化,防止系统被黑
- 用计算机弹歌我的歌声里,我的歌声里 (完整版)
- 2018年全国计算机二级vb真题,2017年计算机二级VB考试试题
- 定义域可以写成不等式吗_高一数学第一次月考考点之抽象函数定义域详解
- android怎么看错误日志,android运行错误日志帮看下 不懂啊
- 阵列函数 java_Java复制阵列– Java中的阵列复制
- aop中joinpoint_Spring AOP示例教程–方面,建议,切入点,JoinPoint,注释,XML配置...
- python数组_Python数组
- Java基础篇:嵌套 switch 语句