1.在使用邮箱登陆需要在邮箱内开启SMTP服务

2.注意在代码中登陆程序使用的密码为第三方授权登陆码,QQ邮箱为系统提供的授权码 网易邮箱为自己设置的授权码

QQ邮箱模拟

import smtplib  # 发生邮件模块
from email.mime.text import MIMEText # 邮件文本
"""
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,
由它来控制信件的中转方式
SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。
sever 服务器
""" SMTPsever= "smtp.qq.com" # 邮箱的SMTP服务器地址
Sender = "1442121251@qq.com" # 发送邮箱的地址
password="ohvnrwaaufxthfjh" #使用的是授权码登陆 # 编辑文本
Message = "Hello Python,你好 世界" # 准备发送的内容
# msg为字典格式
msg = MIMEText(Message) # 转化为邮件文本
msg["Subject"] = "你好 未来" # 邮件标题
msg["From"] = Sender # 邮件发送者 # 登陆服务器
mailsever = smtplib.SMTP(SMTPsever,25) # 邮件服务器25端口
mailsever.login(Sender,password) # 登陆邮箱
mailsever.sendmail(Sender,["144pknnkl@qq.com"],msg.as_string())
# 第一个参数发送者 第二个参数接收者 第三个文本
mailsever.quit() # 退出服务器
print("发生完成")

网易163邮箱

import smtplib  #发邮件
from email.mime.text import MIMEText #邮件文本 SMTPsever="smtp.163.com"#服务器
Sender="wl14454501210@163.com" #发送邮件的地址
password="wl1020021" #登录的授权码 Message="Hello Py子,过来跟哥学python吧,"#发送的内容
msg=MIMEText(Message) #转化邮件文本 msg["Subject"]="你好无恙乎" #邮件标题
msg["From"]=Sender #邮件发送者
# msg["To"]="wl14454501210@163.com" #谁来收 mailsever=smtplib.SMTP(SMTPsever,25)#邮件服务器25端口
mailsever.login(Sender,password)#登陆
mailsever.sendmail(Sender,
["wl14454501210@163.com" ],
msg.as_string())
mailsever.quit()
print("over")

类方法

import smtplib  # 发邮件
from email.mime.text import MIMEText # 邮件文本 class SendMail:
def __init__(self, SMTPsever, Sender, password):
""" :param SMTPsever: 邮箱服务器
:param Sender: 发送者邮箱
:param password: 登陆授权码
"""
self.SMTPsever = SMTPsever # 服务器
self.Sender = Sender # 发送邮件的地址
self.password = password # 使用的是授权码登陆
# 登陆服务器
self.mailsever = smtplib.SMTP(SMTPsever, 25) # 邮件服务器25端口
self.mailsever.login(self.Sender, self.password) # 登陆 def send(self, Message, title, maillist):
""" :param Message: 发送的文本
:param title: 文本标题
:param maillist: 接受邮箱连接列表(列表格式) 发送邮件功能
""" msg = MIMEText(Message) # 转化邮件文本
msg["Subject"] = title # 邮件标题
msg["From"] = self.Sender # 邮件发送者 self.mailsever.sendmail(self.Sender,
maillist,
msg.as_string()) def exit(self):
"""
关闭邮件功能
""" self.mailsever.quit() # sender1 = SendMail("smtp.qq.com","1445422222@qq.com","ohvnrwaaufxthfjh")
# sender1.send("Hello Python,你好 世界","你好 未来",["1445422222@qq.com"])
# sender1.exit() sender2 = SendMail("smtp.163.com","1445422222@163.com","wl102030")
sender2.send("Hello Python,你好 世界","你好 未来",["1445422222@163.com"])
sender2.exit()

最新文章

  1. Android 4.2版本以下使用WebView组件addJavascriptInterface方法存在JS漏洞
  2. 5.6 WebDriver API实例讲解(31-35)
  3. LeetCode Kth Smallest Element in a BST(数据结构)
  4. TP复习8
  5. quickstack is a tool to take call stack
  6. HDJ -- 1022
  7. 手动配置S2SH三大框架报错(一)
  8. 总结一下C++各个版本之间的功能扩充
  9. 微服务架构之RPC-client序列化细节
  10. TypeScript入门知识四(表达式和循环)
  11. 使用Python分析ELF文件优化Flash和Sram空间的案例
  12. Linux下编译安装Apache报APR not found错误的解决办法
  13. 浪院长 | spark streaming的使用心得
  14. Viewer.js插件浏览图片
  15. Codeforces Round #418 (Div. 2) B. An express train to reveries
  16. Ubuntu18.04的网络配置
  17. 网站优化JS css压缩
  18. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (下篇)
  19. BETA-1
  20. 《Linux Device Drivers》第十五章 内存映射和DMA——note

热门文章

  1. 机器学习经典分类算法 —— k-近邻算法(附python实现代码及数据集)
  2. oracle查询截至到当前日期月份所在年份的所有月份
  3. 考试安排查询脚本(CUP)
  4. Js 基础知识1
  5. solr 新建core
  6. 邮件服务配置(虚拟域&虚拟用户)
  7. 1、大型项目的接口自动化实践记录--robotframework环境搭建
  8. selenium操作cookies实现免密登录,自动发微博
  9. Spark 系列(九)—— Spark SQL 之 Structured API
  10. Notepad++编辑器——Verilog、代码片段、F6编译