python3 通过qq 服务器 发送邮件

# -*- encoding: utf-8 -*-import os, sysimport smtplibfrom smtplib import SMTP_SSLfrom email.header import Headerfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mime.application import MIMEApplication

mailInfo = {    #邮件发件人    "from": "*******@qq.com",    #邮件接收人列表,支持多个接收人    "to": [‘*******@qq.com‘, ‘*******@qq.com‘],    #邮件服务器,这里是QQ邮箱的服务器地址    "hostname": "smtp.qq.com",    #邮件发送人的用户名    "username": "*****@qq.com",    #邮件发送人的密码,这里是QQ邮箱的授权码,在‘设置‘/‘账号‘/‘POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务‘/下打开所有的服务    #并记录授权码    "password": "*********",    #邮件的主题,也就是标题    "mailsubject": "滑动验证码破解程序",    #邮件的正文内容    "mailtext": "支持PYTHON3"                "图片只是利用了RGB比较进行处理"                "后续增加二值处理",    #邮件的附件    "attachment": [‘slidingVerification Code.py‘],    #邮件的编码格式,不用修改    "mailencoding": "utf-8"}

def sendEmail():    #SMTP是邮件的一种协议,发送邮件需要按照这种协议进行    #SMTP_SSL是SMTP的加密协议,QQ邮箱使用的是这种协议    #此处先创建一条QQ邮箱的协议    smtp = SMTP_SSL(mailInfo["hostname"])    #这条不用管    smtp.set_debuglevel(1)    #这条也不用管    smtp.ehlo(mailInfo["hostname"])    #使用用户名和密码登陆QQ邮箱    smtp.login(mailInfo["username"], mailInfo["password"])    #MIMEText是邮件内容的载体    #此处填好邮件的正文    msg = MIMEText(mailInfo["mailtext"], "plain", mailInfo["mailencoding"])    #填好邮件的标题    msg["Subject"] = Header(mailInfo["mailsubject"], mailInfo["mailencoding"])    #填好发件人    msg["from"] = mailInfo["from"]    #填好收件人    msg["to"] = ";".join(mailInfo["to"])    #发送邮件    smtp.sendmail(mailInfo["from"], mailInfo["to"], msg.as_string())    #退出    smtp.quit()

def sendEmailWithAttachment():    #SMTP是邮件的一种协议,发送邮件需要按照这种协议进行    #SMTP_SSL是SMTP的加密协议,QQ邮箱使用的是这种协议    #此处先创建一条QQ邮箱的协议    smtp = SMTP_SSL(mailInfo["hostname"])    #这条不用管    #smtp.set_debuglevel(1)    #这条也不用管    #smtp.ehlo(mailInfo["hostname"])    #使用用户名和密码登陆QQ邮箱    smtp.login(mailInfo["username"], mailInfo["password"])    #MIMEMultipart是邮件内容的载体,可以携带附件    #此处创建该载体    msg = MIMEMultipart()    #填好邮件的正文    msg.attach(MIMEText(mailInfo["mailtext"], "plain", mailInfo["mailencoding"]))    #填好邮件的标题    msg["Subject"] = Header(mailInfo["mailsubject"], mailInfo["mailencoding"])    #填好发件人    msg["from"] = mailInfo["from"]    #填好收件人    msg["to"] = ";".join(mailInfo["to"])    # 构造附件1,传送当前目录下的 test.txt 文件

    #循环遍历所有的附件    for attFile in mailInfo["attachment"]:        #读取文件内容        att = MIMEApplication(open(attFile, ‘rb‘).read())        #创建附件,此处一定要是GBK格式,否则文件名会乱码        att.add_header(‘Content-Disposition‘, ‘attachment‘, filename=(‘gbk‘, ‘‘, attFile))        #添加附件到邮件内        msg.attach(att)

    #发送邮件    smtp.sendmail(mailInfo["from"], mailInfo["to"], msg.as_string())    #退出    smtp.quit()

def sendEmailWithHtml():    #SMTP是邮件的一种协议,发送邮件需要按照这种协议进行    #SMTP_SSL是SMTP的加密协议,QQ邮箱使用的是这种协议    #此处先创建一条QQ邮箱的协议    smtp = SMTP_SSL(mailInfo["hostname"])    #这条不用管    smtp.set_debuglevel(1)    #这条也不用管    smtp.ehlo(mailInfo["hostname"])    #使用用户名和密码登陆QQ邮箱    smtp.login(mailInfo["username"], mailInfo["password"])    #MIMEText是邮件内容的载体    mail_msg = """    <p>Python 邮件发送测试...</p>    <p><a href="http://www.runoob.com">这是一个链接</a></p>    """    #此处填好邮件的正文    msg = MIMEText(mail_msg, "html", mailInfo["mailencoding"])    #填好邮件的标题    msg["Subject"] = Header(mailInfo["mailsubject"], mailInfo["mailencoding"])    #填好发件人    msg["from"] = mailInfo["from"]    #填好收件人    msg["to"] = ";".join(mailInfo["to"])    #发送邮件    smtp.sendmail(mailInfo["from"], mailInfo["to"], msg.as_string())    #退出    smtp.quit()

#发送邮件(不带附件)#sendEmail()

#发送邮件(携带附件)sendEmailWithAttachment()

#发送邮件(正文为HTML)#sendEmailWithHtml()
时间: 2024-11-05 13:42:24

python3 通过qq 服务器 发送邮件的相关文章

python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件

python3:利用smtplib库和smtp.qq.com邮件服务器发送邮件 使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们使用qq服务器发送 需要先到邮箱里设置独立密码(必须), 然后开启 SMTP/POP3服务.然后用qq手机安全中心扫一扫会给一个授权码, 在代码中要填写的密码是这个授权码, 而不是邮箱密码! 示例代码: # python

python使用smtplib库和smtp.qq.com邮件服务器发送邮件(转)

使用qq的邮件服务器需要注意的两个地方主要是: 1.协议问题 使用465端口 SSL 协议 2.口令问题 出现SMTPAuthenticationError 主要的原因就是口令和帐号信息不对,这里我们使用qq服务器发送 需要先到邮箱里设置独立密码(必须), 然后开启 SMTP/POP3服务.然后用qq手机安全中心扫一扫会给一个授权码, 在代码中要填写的密码是这个授权码, 而不是邮箱密码! 下面贴个代码: #coding:utf8 from smtplib import SMTP_SSL from

基于java mail实现简单的QQ邮箱发送邮件

刚学习到java邮件相关的知识,先写下这篇博客,方便以后翻阅学习. -----------------------------第一步 开启SMTP服务 在 QQ 邮箱里的 设置->账户里开启 SMTP 服务 完成验证 获取授权码(后面代码实现时使用) -----------------------------第二步 环境配置 即下载第三方库 https://github.com/javaee/javamail/releases -----------------------------第三步 代

杂项之使用qq邮箱发送邮件

杂项之使用qq邮箱发送邮件 本节内容 特殊设置 测试代码 1. 特殊设置 之前QQ邮箱直接可以通过smtp协议发送邮件,不需要进行一些特殊的设置,但是最近使用QQ邮箱测试的时候发现以前使用的办法无法奏效了...于是上网查了查,QQ对这方面做了一些限制,必须使用授权码才能登陆邮箱.官方链接在这:http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256按照上面的官方文档配置好之后就可以使用QQ邮箱发

C#利用SMTP服务器发送邮件

使用.net(C#)发送邮件学习手册(带成功案例) 1.了解发送邮件的三种方式 2.实例介绍使用client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis 3.如何设定本机IIS的SMTP服务器 1.了解发送邮件的三种方式 第一:client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; //通過遠程SMTP服務器傳送

ASP.NET用QQ,网易发送邮件以及添加附件

教程:ASP.NET用QQ,网易发送邮件以及添加附件 这是我用QQ邮箱出现的异常: 命令顺序不正确. 服务器响应为:Error: need EHLO and AUTH first !无法从传输连接中读取数据: net_io_connectionclosed 解决方法: 首先去邮箱设置一下内容: 1.开启SMTP, 2.申请授权码.(授权码作为QQ邮箱登陆密码使用.) 如果这些已经弄好了,应是代码有问题.请参考C#代码部分. QQ邮箱代码: 注意:用户名不加后缀"@qq.com",密码使

SpringBoot使用qq邮箱发送邮件

最近公司要做一个邮箱注册和重置密码的功能,因为之前就做过,但是不是Springboot项目,所以相对来说还是比较容易的,在这里记录一下. 一.引用Maven依赖 这里使用spring自带的邮件jar包 <!-- 邮件服务 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId&g

Linux 上使用 Gmail SMTP 服务器发送邮件通知

导读 假定你想配置一个 Linux 应用,用于从你的服务器或桌面客户端发送邮件信息.邮件信息可能是邮件简报.状态更新(如 Cachet).监控警报(如 Monit).磁盘时间(如 RAID mdadm)等等.当你要建立自己的 邮件发送服务器 传递信息时 ,你可以替代使用一个免费的公共 SMTP 服务器,从而避免遭受维护之苦. 谷歌的 Gmail 服务就是最可靠的 免费 SMTP 服务器 之一.想要从应用中发送邮件通知,你仅需在应用中添加 Gmail 的 SMTP 服务器地址和你的身份凭证即可.

java使用公司邮件服务器发送邮件

1. java使用公司邮件服务器发送邮件 1 /** 2 * 发送邮件 3 */ 4 public void sendMail(String receivers, String content, String title) { 5 try { 6 // 公司邮件服务器地址 7 URL url = new URL("公司邮件服务器地址"); 8 // 设置connection 9 HttpURLConnection connection = (HttpURLConnection) url