Python 自动化给女友发邮件:含新闻、天气、每日一句、图片 最全攻略系列
是否想在女友面前展示程序员炫酷的一面?
是否想给她每日问候但是害怕忘记固定时间发送信息?
是否也羡慕别人可以优雅使用Python定时发送邮件?
欢迎来到Python自动化发邮件最全攻略系列,本系列将详细讲解一个排版好看、内容丰富的邮件如何自动化发送。
因为涵盖内容较多,本系列分段讲解,这同样有助于大家以递进的方式学习,最后还会发一个合并的博文。
具体攻略系列包括以下内容:
- 如何使用python发邮件
- 如何添加emoji表情
- 如何使用python爬取天气信息
- 如何使用python爬取财经新闻
- 如何在python邮件中使用html格式
- 如何在html邮件中添加图片
- 如何在服务器部署python自动化任务
如何添加emoji表情
为什么要使用emoji
通过使用一些emoji,可以让我们的邮件显示的更加好看。
同样能够优化打印输入的排版。
怎么使用emoji
首先要关注一个官网emoji官网
在官网中,鼠标移动到每个图标,都会显示出来对应的编码,点击即可复制。
在Python中,需要先安装emoji包,用来解析emoji编码。
pip install emoji
import emoji
在输入emoji编码后,使用emojize解析出来。
mail_title = ':mailbox:今日给宝贝的问候邮件:red_heart:'
mail_title=emoji.emojize(mail_title,language='alias',variant="emoji_type")
print(mail_title)
展示更新的代码
#导入smtplib和email
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header
import emoji
# 邮箱信息
host_server = 'smtp.163.com' # 网易邮箱smtp服务器 根据情况换成qq邮箱等
sender_163 = 'xxxxx@163.com' # 发件人邮箱
pwd = 'xxxxx' #邮箱授权密码
receiver = 'xxxx@126.com' # 收件人邮箱
mail_title = ':mailbox:今日给宝贝的问候邮件:red_heart:' # 邮件的主题
mail_title=emoji.emojize(mail_title,language='alias',variant="emoji_type")
print(mail_title)
mail_content ='你好,这是测试邮件' # 邮件的内容
html_content ='''
<p>html测试</p>
'''
print("邮件已就绪")
#初始化邮件
msg = MIMEText(html_content,'html','utf-8')
msg["From"] = sender_163
msg['To'] = receiver
msg["Subject"] = Header(mail_title, 'utf-8') #构造邮件主题,utf-8字符集,同理邮件内容mail_content也可以用
# 邮件发送阶段
smtp = SMTP_SSL(host_server) # ssl登录
print("ssl登陆成功 ")
smtp.login(sender_163, pwd) #登录邮箱
smtp.sendmail(sender_163, receiver, msg.as_string())
print("邮件发送中... ")
smtp.quit() #关闭smtp
print("邮件发送成功")