09月22日, 2014 152次
这真是黑高科技啊,从来推送的告白邮件不过如许爆发的。善人用来发节日贺卡,给女伙伴祝贺邮件;暴徒会学着发告白,废物邮件。我蓄意诸位能学会了做些风趣的有意旨的事变。
即日我带诸位实行下无脑的发邮件功效。咱们要运用到email和smtplib库,实行情况python3.5.
开始咱们要领会用python代劳登录qq邮箱发邮件,是须要变动本人qq邮箱树立的。在这边诸位须要做两件事变:邮箱打开SMTP功效。
之后咱们来迟疑如何样变动沙盘代码,实行运用Python登录QQ邮箱发送QQ邮件。
咱们先附上最无脑的代码from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
?
?
#qq邮箱smtp效劳器
host_server = 'smtp.qq.com'
#sender_qq为发件人的qq号子
sender_qq = '3723358***'
#pwd为qq邮箱的受权码
pwd = '**iao***lxpic***'
#发件人的邮箱
sender_qq_mail = '3723358***@qq.com'
#收件人邮箱
receiver = 'thunder***@gmail.com'
#邮件的正文实质
mail_content = '您好,我是来自知乎的[邓旭东HIT] ,此刻在举行一项用python登录qq邮箱发邮件的尝试'
#邮件题目
mail_title = '邓旭东HIT 的邮件'
?
#ssl登录
smtp = SMTP_SSL(host_server)
#set_debuglevel()是用来调节和测试的。参数值为1表白打开调节和测试形式,参数值为0封闭调节和测试形式
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
?
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_qq_mail
msg["To"] = receiver
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
只有变动host_server 、sender_qq、pwd、sender_qq_mail、receiver、mail_content、mail_title等材料,就该当实行无脑的发送工作。
然而上头的代码即使不过用来给一个收件人发一次还好,即使收件人头以千计,发送的实质各一,反复写代码太烦恼。底下是我变动后的代码
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
?
?
#sender_qq为发件人的qq号子
sender_qq = '3723358***'
#pwd为qq邮箱的受权码
pwd = '**iao***lxpic***'
#收件人邮箱receiver
receiver='thunder***@gmail.com'
#邮件的正文实质
mail_content = '您好,我是来自知乎的[邓旭东HIT] ,此刻在举行一项用python登录qq邮箱发邮件的尝试'
#邮件题目
mail_title = '邓旭东HIT 的邮件'
?
def send_mail(sender_qq='',pwd='',
receiver='',mail_title='',mail_content=''):
# qq邮箱smtp效劳器
host_server = 'smtp.qq.com'
sender_qq_mail = sender_qq+'@qq.com'
?
#ssl登录
smtp = SMTP_SSL(host_server)
#set_debuglevel()是用来调节和测试的。参数值为1表白打开调节和测试形式,参数值为0封闭调节和测试形式
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq, pwd)
?
msg = MIMEText(mail_content, "plain", 'utf-8')
msg["Subject"] = Header(mail_title, 'utf-8')
msg["From"] = sender_qq_mail
msg["To"] = receiver
smtp.sendmail(sender_qq_mail, receiver, msg.as_string())
smtp.quit()
?
?
for i in range(10):
send_mail(sender_qq=sender_qq,pwd=pwd,
receiver=receiver,mail_title=mail_title,
mail_content=mail_content)
提防MIMEText因变量中的第二个参数为“plain”时,发送的是text文本。即使为“html”,则能发送网页方法文本邮件。
msg = MIMEText(mail_content, "plain", 'utf-8')