使用Python登录QQ邮箱发送QQ邮件-qq邮箱怎么发送文件夹

每日干货好文分享丨请点击+关注

欢迎关注天善智能微信公众号,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区。

对商业智能BI、数据分析挖掘、大数据、机器学习,python,R感兴趣同学加微信:fridaybifly,邀请你进入头条数据爱好者交流群,数据爱好者们都在这儿。

这真是黑科技啊,原来推送的广告邮件就是这样产生的。好人用来发节日贺卡,给女朋友纪念邮件;坏人会学着发广告,垃圾邮件。我希望大家能学会了做些有趣的有意义的事情。

今天我带大家实现下简单的发邮件功能。我们要使用到email和smtplib库,实现环境python3.5.

首先我们要知道用python代理登录qq邮箱发邮件,是需要更改自己qq邮箱设置的。在这里大家需要做两件事情:邮箱开启SMTP功能 、获得授权码 教程链接。

之后我们来看看如何更改模板代码,实现使用Python登录QQ邮箱发送QQ邮件。

我们先附上最简单的代码

fromemail.mime.textimportMIMEText

fromemail.headerimportHeader

fromsmtplibimportSMTP_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等数据,就可以实现简单的发送任务。

但是上面的代码如果只是用来给一个收件人发一次还好,如果收件人数以千计,发送的内容各一,重复写代码太麻烦。下面是我更改后的代码

fromemail.mime.textimportMIMEText

fromemail.headerimportHeader

fromsmtplibimportSMTP_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 的邮件'

defsend_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()

foriinrange(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')

对商业智能BI、大数据分析挖掘、机器学习,python,R感兴趣同学加微信:fridaybifly,邀请你进入头条数据爱好者交流群,数据爱好者们都在这儿。

使用Python登录QQ邮箱发送QQ邮件

转载请保留以下内容:

本文来源自天善社区邓旭东HIT的博客

原文链接:https://ask.hellobi.com/blog/dengxudong/6560。

推荐阅读