python发送QQ邮件,自定义邮件内容
怎么发QQ邮件,网上的例子很多,就不介绍了,具体可参考:https://www.jianshu.com/p/0f8c5e4e7054
这里主要把自定义邮件内容写一下
# -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText day = datetime.date.today() msg_from='xxxxx@qq.com' #发送方邮箱 passwd='vxxxxdd' #填入发送方邮箱的授权码 msg_to='xxxxxxxxxx@qq.com' #收件人邮箱 subject = str(day) + "头条新闻" #主题 content = '邮件内容' #正文 msg = MIMEText(content) msg['Subject'] = subject msg['From'] = msg_from msg['To'] = msg_to try: s = smtplib.SMTP_SSL("smtp.qq.com",465) s.login(msg_from, passwd) s.sendmail(msg_from, msg_to, msg.as_string()) print(str(day)+" 发送成功") except Exception: print(str(day)+" 发送失败") finally: s.quit()
上面的代码 ,content即发送邮件的内容。这是比较标准的内容格式,内容都是已经确定好的不会进行增减
但是,爬虫的结果很多都是数组,当然数组业可以直接当作内容发送,只是这样看邮件就很多“[]”且数据不是换行显示的,不便于内容浏览
所以对content进行改造,增加正文标题、循环取数组数据且换行显示,具体代码如下
content = '' content +="中国人民政府网信息一览:"+'\n' for i in gov: content +=i+'\n' content +='\n'+'\n'"中国发改委信息一览:"+'\n' for i in ndrc: content +=i+'\n'
将代码1改造成代码2,即实现预期目标
gov和ndrc是爬取某网站后返回的数组,注意content +=是关键,表面你要插入的内容,'\n'是换行符,最终效果如下