真的是黑科技,原来的广告邮件就是这么产生的。好人用它给女朋友发节日贺卡,发纪念邮件;坏人会学会发广告和垃圾邮件。希望大家都能学会做一些有趣有意义的事情。
今天就带大家实现简单的邮件功能。我们需要使用电子邮件和smtplib库并实现python3.5。
首先,我们需要知道,在使用python代理登录发送电子邮件时,我们需要更改qq邮箱设置。这里我们需要做两件事:邮箱打开SMTP功能。
之后我们来看看如何更改模板代码,用Python登录QQ邮箱发送QQ邮件。
让我们先附上最简单的代码。
来自email.mime.text导入MIMEText
来自电子邮件。标题导入标题
从smtplib导入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='雷霆***@gmail.com '
#消息的正文内容。
Mail_content='你好,我是知乎的[邓旭东HIT],现在正在做一个用python登录qq邮箱发邮件的测试'
#消息标题。
Mail_title='邓旭东HIT的邮件'
#ssl登录
smtp=SMTP_SSL(主机_服务器)
#set_debuglevel()用于调试。参数值为1表示调试模式已启动,参数值为0表示调试模式已关闭。
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq,pwd)
msg=MIMEText(mail_content,“普通”,“utf-8”)
消息['主题']=标题(邮件标题,' utf-8 ')
消息['发件人']=发件人_qq_mail
消息['收件人']=收件人
smtp.sendmail(sender_qq_mail,receiver,msg.as_string())
smtp.quit()
只需更改host_server、sender_qq、pwd、sender_qq_mail、receiver、mail_content、mail_title等数据,即可实现简单的发送任务。
但是如果上面的代码只用来给一个收件人发一次,如果收件人数是几千,发的内容不一样,重复写代码就太麻烦了。这是我修改过的代码。
来自email.mime.text导入MIMEText
来自电子邮件。标题导入标题
从smtplib导入SMTP_SSL
#sender_qq是发件人的qq号码。
sender_qq='3723358*** '
#pwd是qq邮箱的授权码。
pwd='**iao***lxpic*** '
#收件人邮箱收件人。
receiver='雷霆***@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(主机_服务器)
#set_debuglevel()用于调试。参数值为1表示调试模式已启动,参数值为0表示调试模式已关闭。
smtp.set_debuglevel(1)
smtp.ehlo(host_server)
smtp.login(sender_qq,pwd)
msg=MIMEText(mail_content,“普通”,“utf-8”)
消息['主题']=标题(邮件标题,' utf-8 ')
消息['发件人']=发件人_qq_mail
消息['收件人']=收件人
smtp.sendmail(sender_qq_mail,receiver,msg.as_string())
smtp.quit()
对于范围(10):内的I
send_mail(sender_qq=sender_qq,pwd=pwd,
接收者=接收者,邮件标题=邮件标题,
mail_content=mail_content)
请注意,当MIMEText函数中的第二个参数为“普通”时,将发送文本。如果是“html”,可以以网页格式发送文本邮件。
msg=MIMEText(mail_content,“普通”,“utf-8”)