import smtplib
from email.mime.text import MIMEText # 第三方 SMTP 服务
mail_host = "smtp.sina.cn" # SMTP服务器 #网易是 smtp.163.com #腾讯是 smtp.qq.com
mail_user = "perfectcrm@sina.cn" # 用户名#新浪邮箱账号或者163和QQ 的邮箱账号
mail_pass = "admin123456" # 授权密码,非登录密码 #新浪是登陆密码 #163和QQ是授权密码 sender ='perfectcrm@sina.cn' # 发件人邮箱(最好写全, 不然会失败) #新浪邮箱账号或者163和QQ 的邮箱账号
receivers = ['124111294@qq.com','perfectcrm@sina.cn'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 #可群发 title = 'Python原生方法群发邮件发送测试' # 邮件主题
content = '此账号仅供测试,请大神们不要修改邮箱密码。'#内容 def sendEmail():
message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码
message['From'] = "{}".format(sender) # # 发件人邮箱(最好写全, 不然会失败)
message['To'] = ",".join(receivers) # # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message['Subject'] = title # 邮件主题
try:
smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465
smtpObj.login(mail_user, mail_pass) # 登录验证
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送
print("邮件发送成功!注意查收!!!垃圾箱!!!反垃圾拦截!!")
except smtplib.SMTPException as e:
print(e) #错误信息 sendEmail() #调用实例化 进行发送邮件 # if __name__ == '__main__':
# sendEmail() #调用实例化 进行发送邮件

群发邮件功能

 import smtplib
from email.header import Header
from email.mime.text import MIMEText # 第三方 SMTP 服务
mail_host = "smtp.sina.cn" # SMTP服务器
mail_user = "perfectcrm@sina.cn" # 用户名
mail_pass = "admin123456" # 授权密码,非登录密码 sender ='perfectcrm@sina.cn' # 发件人邮箱(最好写全, 不然会失败)
receiver = '124111294@qq.com' # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 #只能单发 title ='Python原生Header方法邮件发送测试' # 邮件主题
content = '此账号仅供测试,请大神们不要修改邮箱密码。'#内容 # SMTP服务器 # 登陆 #密码 #发送给谁 #主题 #内容
def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content):
email_client = smtplib.SMTP(SMTP_host) # SMTP服务器
email_client.login(from_account, from_passwd) # SMTP服务器 登陆 #密码
# create msg
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8') # subject #邮件头(主题 )#一定要用Header格式化
msg['From'] = from_account #内容 字符串
msg['To'] = to_account #发送给谁 字符串
email_client.sendmail(from_account, to_account, msg.as_string()) #发送模式 print("邮件发送成功!注意查收!!!垃圾箱!!!反垃圾拦截!!")
email_client.quit() #退出 # SMTP服务器 # 用户名 # 密码 # 接收 # 主题 #内容
send_email2(mail_host, mail_user, mail_pass, receiver, title, content) #调用实例化 # if __name__ == '__main__':
# # SMTP服务器 # 用户名 # 密码 # 接收 # 主题 #内容
# send_email2(mail_host, mail_user, mail_pass, receiver, title, content) #调用实例化

单发邮件功能

注意被拦截的邮件


如果感觉本章博客对您有帮助,请尽情打赏吧!

Python 原生2种 邮件发送(发送验证码) 的方法的更多相关文章

  1. python 发送邮件(收到的邮件要有发送方才能回复)

    Python使用SMTP(简单邮件传输协议)发送邮件 普通文本邮件 普通文本邮件发送的实现,关键是要将MIMEText中_subtype设置为plain ## -*- coding: UTF-8 -* ...

  2. 使用Python发送HTML格式的邮件(收到的邮件有发送方才是正解)

    发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"p ...

  3. 使用python原生的方法实现发送email

    使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...

  4. python定时利用QQ邮件发送天气预报

    大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...

  5. python初级实战-----关于邮件发送问题

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...

  6. POP3与SMTP以及python实现邮件的发送

    什么是POP3协议: POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网 ...

  7. python系统监控及邮件发送

    python系统监控及邮件发送   #psutil模块是一个跨平台库,能轻松实现获取系统运行的进程和系统利用率   import psutil                              ...

  8. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  9. 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...

随机推荐

  1. JS流程控制语句 多重判断满足你各种需求 要在多组语句中选择一组来执行,使用if..else嵌套语句。

    多重判断(if..else嵌套语句) 要在多组语句中选择一组来执行,使用if..else嵌套语句. 语法: if(条件1) { 条件1成立时执行的代码} else if(条件2) { 条件2成立时执行 ...

  2. 【学术篇】luogu2184贪婪大陆

    题目在这里哦, 戳一下就可以了~ 题目大意: 支持两种操作,区间添加一种新元素,查询区间颜色种数.. 题目标签是线段树啊,我也本来想写一个线段树,后来写不出来……(我太弱了orz) 然后就草率地看了看 ...

  3. node中没有全局作用域,只有模块作用域(文件作用域)

    node中没有全局作用域,只有模块作用域(文件作用域)

  4. 杜教筛&套路总结

    杜教筛 \[ \begin{split} (g*f)(i)&=\sum_{d|i}g(d)f(\frac id)\\ \Rightarrow g(1)S(n)&=\sum_{i=1}^ ...

  5. MongDB4.0-入门学习之运算符

    MongDB 4.0 入门学习之运算符 基本语法:db.collection.find({<key>:{$symbol:<value>}}) 条件查询匹配运算符 符号 描述 范 ...

  6. cycloneii normal mode vs. arithmetic mode

    Combout = F(data1, data2, data3 or cin, data4) 在 arithmetic mode,只有 data1\data2 参加运算. 4-LUT到2个3-LUT的 ...

  7. OpenCASCADE点向圆柱面投影

    OpenCASCADE点向圆柱面投影 eryar@163.com OpenCASCADE的类Extrema_ExtPElS提供了点到基本曲面的投影计算功能,距离可能是最大值或是最小值.如下图所示的点到 ...

  8. Java序列化接口的作用总结1

    一个对象有对应的一些属性,把这个对象保存在硬盘上的过程叫做”持久化”. 把堆内存中的对象的生命周期延长,存入硬盘,做持久化操作.当下次再需要这个对象的时候,我们不用new了,直接从硬盘中读取就可以了. ...

  9. es6 Promise 异步函数调用

    开发很多的时候需要异步操作,常用的做法就是用回调函数,假如需要一连串的调用,并且后面一个调用依赖前一个返回的结果的时候,就得多层嵌套回调函数,比如下面这种情况: $('.animateEle').an ...

  10. 解决IDEA中,maven依赖不自动补全的问题

    转载: 作者:七个榴莲链接:https://www.jianshu.com/p/46a423bdde31来源:简书 遇到的问题:Maven依赖不自动补全 在idea上使用maven插件时,发现在pom ...