好人用来发节日贺卡,给女朋友纪念邮件;坏人会学着发广告,垃圾邮件。
我希望大家能学会了做些有趣的有意义的事情。
今天我带大家实现下简单的发邮件功能。
我们要使用到email和smtplib库,实现环境python3.5.首先我们要知道用python代理登录qq邮箱发邮件,是需要更改自己qq邮箱设置的。
在这里大家需要做两件事情:邮箱开启SMTP功能。
之后我们来看看如何更改模板代码,实现使用Python登录QQ邮箱发送QQ邮件。
我们先附上最简单的代码from email.mime.text import MIMETextfrom email.header import Headerfrom 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_mailmsg["To"] = receiversmtp.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 MIMETextfrom email.header import Headerfrom smtplib import SMTP_SSL#sender_qq为发件人的qq号码sender_qq = '3723358***'#pwd为qq邮箱的授权码pwd = '**iao***lxpic***'#收件人邮箱receiverreceiver='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')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)