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 之发送邮件服务[原著] 海瑞博客相关推荐

  1. python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...

    原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...

  2. 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...

    您好,欢迎来到本期"利用Python Django一步步搭建个人博客"系列的第四部分.在上一篇教程中,我们学习了如何编写URL并将其映射到页面.在我们继续之前,我们需要做的一件事是 ...

  3. 使用Docker 实现微服务并搭建博客,一文全掌握

    转载自  使用Docker 实现微服务并搭建博客,一文全掌握 Docker 是一个容器工具,提供虚拟环境.很多人认为,它改变了我们对软件的认识. 本文,通过搭建一个博客的例子,来介绍如何使用Docke ...

  4. Python实现自动推本地github博客到远程仓库

    Python实现自动推本地github博客到远程仓库 以前的简单版本 通过python中的os模块操作系统命令 详情可参考:Python实现一行代码推本地git到远程仓库 升级版本 本次加入了监听文件 ...

  5. Python 用Django创建自己的博客(2)

    ####开篇 Python 用Django创建自己的博客(上)中主要记录了项目的创建,项目的文件结构,后台超级用户的创建,数据库的增添数据等,这篇博客的主要是加载html静态文件和显示之间的加载逻辑等 ...

  6. 分布式系统中的必备良药 —— 服务治理 - Zachary_Fan - 博客园

    分布式系统中的必备良药 -- 服务治理 - Zachary_Fan - 博客园

  7. python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送

    kindle想每天看新闻,看博客, 其实自己用python写个代码就能很简单实现了. 1.kindle推送原理 kindle不仅可以买书看书,还可以自己推送内容 原理很简单,往你个人的kindle邮箱 ...

  8. python入门指南bl-Python Flask开源博客系统Bl

    本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用: ...

  9. python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况

    前言 最近在自学Python,正好2014 CSDN博客之星投票搞得如火如荼,拿来练练手. 环境:Win7 64位 Python 2.7: 用到了正则表达式.函数.写文件.urllib2: 没有用到线 ...

最新文章

  1. css input[type=file] 样式美化,input上传按钮美化
  2. 第五讲 计算机体系结构 内存层次
  3. 表格隔行变色_CSS实现鼠标悬停高亮
  4. windows10下安装opencv3.2+QT Creator+MingGW
  5. 数据库面试题【十、【非关系型数据库】和【关系型数据库】的【区别】与【优势比较】】
  6. android 服务
  7. ​电赛 | 19年全国一等奖,北航学子回忆录。
  8. python 中time和datetime_python中time模块与datetime模块的详解
  9. 2011年骑行爬山成绩记录
  10. ssis 计划任务_SSIS FTP任务概述
  11. python小游戏之圣诞树
  12. 6.面向对象的三大特征
  13. java贪吃蛇柚子功能_关于java贪吃蛇心得
  14. PDF文件转base64显示
  15. DS Storage Manager 忘记管理密码恢复
  16. uc/os-II的内存改进与实现TLSF算法的详解,移植实现(四)
  17. 制作HTML表单(文本框设置对齐等)
  18. 【PRD】倒推“Soul”APP产品需求文档
  19. 面向服务通信与面向信号通信
  20. 小米路由器微信连接到服务器,小米路由器怎么设置微信好友免密码直接链接上网?...

热门文章

  1. pyqt 槽任意参数_根据效果及设计参数选择合适的洗墙灯
  2. 解压出来的文件md5会改变吗_监控Linux文件变化,防止系统被黑
  3. 用计算机弹歌我的歌声里,我的歌声里 (完整版)
  4. 2018年全国计算机二级vb真题,2017年计算机二级VB考试试题
  5. 定义域可以写成不等式吗_高一数学第一次月考考点之抽象函数定义域详解
  6. android怎么看错误日志,android运行错误日志帮看下 不懂啊
  7. 阵列函数 java_Java复制阵列– Java中的阵列复制
  8. aop中joinpoint_Spring AOP示例教程–方面,建议,切入点,JoinPoint,注释,XML配置...
  9. python数组_Python数组
  10. Java基础篇:嵌套 switch 语句