python笔记:解决163邮件批量发送被误认为是垃圾邮件而导致无法方法是使用QQ邮件发

大憨熊 提交于 2020-04-06 02:35:26

这两天用163邮箱做了批量发送的邮件的小工具,但奈何测试了几波后又发送不成功了,经查报错代码的解释如下:

what?当我发了垃圾邮件,经过咨询和一番折腾,终于知道,原来网易邮箱就是对邮件的发送规则要求比较严格,然尔QQ邮箱只是数量限制,好像是每天发100封,对于多数人来说,一天100封也差不多够了,不行就换个邮箱,接下给大家共享下QQ邮件群发的代码:

import smtplib#用于邮件的发信动作
from email import encoders
from email.header import Header#用于构建邮件头
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText#用于构建邮件内容
from email.utils import parseaddr,formataddr
from email.mime.application import MIMEApplication
import pandas as pd
import numpy as np
df=pd.read_excel(r"D:\到货情况\供应商邮件清单.xlsx",sheet_name=0,header=0)
df.head(2)
wenjianname=df["文件名"]
youjianadd=df["邮件地址"]
n=-1
smtp_server="smtp.qq.com"#发信服务器
asender="376453131@qq.com"#发件人地址
from_addr=input("请输入登录邮箱:")
password=input("请输入邮箱授权码:")#邮件授权码
text=input("请输入邮件内容:")#邮件正文
for i in wenjianname:
    n=n+1
    areceiver=df["邮件地址"][n]#收件人地址
    acc="376453131@qq.com"#抄送人地址
    asubject=i#邮件主题
    msg=MIMEMultipart()#邮件设置
    msg["Subject"]=asubject
    msg["to"]=areceiver
    msg["cc"]=acc
    msg["from"]="宋小玲"
    msg.attach(MIMEText(text,"plain","utf-8"))#添加邮件正文 #添加附件
    #注意,这里的文件路径是分隔线
    xlsxpart=MIMEApplication(open('D:/到货情况/生成文件/'+i,'rb').read())
    xlsxpart.add_header("Content-Disposition","attachment",filename=i)
    msg.attach(xlsxpart)
    #设置邮箱服务器地址及端口
    server=smtplib.SMTP_SSL(host="smtp.qq.com")
    server.connect(smtp_server,465)
    #server.set_debuglevel(1)
    #登录邮箱
    server.login(from_addr,password)
    #发送邮件
    server.sendmail(from_addr,areceiver.split(",")+acc.split(","),msg.as_string())
    #断开服务器
server.quit()
print("亲爱的,我一共发送了{}封邮件,感谢使用!".format(n+1))

文中的供应商邮件地址如下格式,关于如何快速获取附件名称,在上一篇博客中已经写过了,不会的同学可以去上一篇博客查阅。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!