Python 原生2种 邮件发送(发送验证码) 的方法
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种 邮件发送(发送验证码) 的方法的更多相关文章
- python 发送邮件(收到的邮件要有发送方才能回复)
Python使用SMTP(简单邮件传输协议)发送邮件 普通文本邮件 普通文本邮件发送的实现,关键是要将MIMEText中_subtype设置为plain ## -*- coding: UTF-8 -* ...
- 使用Python发送HTML格式的邮件(收到的邮件有发送方才是正解)
发送html格式的和普通文本格式差不多,只是MIMEText(content,"html","utf-8"))与MIMEText(content,"p ...
- 使用python原生的方法实现发送email
使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...
- python定时利用QQ邮件发送天气预报
大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...
- python初级实战-----关于邮件发送问题
python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用.smtplib模块主要负责发送邮件,email模块主要负责构造邮件. sm ...
- POP3与SMTP以及python实现邮件的发送
什么是POP3协议: POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网 ...
- python系统监控及邮件发送
python系统监控及邮件发送 #psutil模块是一个跨平台库,能轻松实现获取系统运行的进程和系统利用率 import psutil ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
- 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...
随机推荐
- 数组,List,Set相互转化
1.数组转化为List: String[] strArray= new String[]{"Tom", "Bob", "Jane"}; Li ...
- java 上传MultipartFile和String post请求
/** * POST Multipart Request * @Description: * @param requestUrl 请求url * @param requestText 请求参数 * @ ...
- Python全栈开发:XML与parse对比
#!/usr/bin/env python # -*- coding;utf-8 -*- """ ET.XML和ET.parse的对比 1.返回对象差异: ET.XML: ...
- Python全栈开发:基本数据类型
1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2 ...
- LoadRunner参数化详解【转】
距离上次使用loadrunner 已经有一年多的时间了.初做测试时在项目中用过,后面项目中用不到,自己把重点放在了工具之外的东西上,认为性能测试不仅仅是会用工具,最近又想有一把好的利器毕竟可以帮助自己 ...
- scoreboarding
Reference docs: https://en.wikipedia.org/wiki/Scoreboarding SSC_course_5_Scoreboard_ex.pdf 1, what i ...
- 关于新手必须要理解的几个名词,cookie、session和token
以下要说的,虽然不是开发过程中必须会遇到的,但却是进阶之路上必须要掌握的,一些涉及到状态管理与安全的应用当中尤为重要. 我之前虽略有学习,但也是东拼西凑临时看的一点皮毛,所以在这个假期利用一点时间,整 ...
- 花园【SCOI2017期望DP入门题】
题目描述: 小 A 的花园的长和宽分别是 L,H .小 A 喜欢在花园里做游戏.每次做游戏的时候,他都先把花园均匀分割成 L×H 个小方块,每个方块的长和宽都是 1 .然后,小 A 会从花园的西北角的 ...
- Git从fork分支开始的过程整理
文章适用于团队合作的时候多个人向一个repo贡献,整理了Git从fork分支开始的过程. 1. Fork 在github上你要贡献的repo(eg.http://github/remote/test. ...
- JDK源码阅读--ArrayList
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...