怎么发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\'是换行符,最终效果如下