最近使用了不少通讯工具的接口, 比如企业微信机器人,钉钉,微信公众号的接口(未认证的订阅公众号),相对于邮件来说,它们的表现形式太弱。比如没有更丰富的版本方式。当然了,并不是说表现形式越棒就是约好的通知手段,这个依个人情况而定,而我恰恰需要比较丰富的表现形式,最终还是回到了邮件,邮件真香!
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:101677771
而个人微信号的接口我没有合适的微信号可以登录,如果网页版微信没有被封的话,我想这个是表现形式与消息时效性结合的最好的方式。
环境
虽说就发邮件这么个小事,很容易兼容 Python 2, Python3, 但是大家还是拥抱Python3吧, 我这里没有做python2的兼容写法,所以需要python3以上。
邮件的格式
邮件的格式主要就两种: plain和html
plain就像一个普通的文本, 没有格式。
html就如其名, 是html的格式,相当于一个邮件就是一个 静态 的网页,这样的话可玩性就很高了,你可以通过css控制表现形式.
注意: 这里的css虽然语法一样,但,是否与浏览器渲染结果完全一致, 是不一定的。
那么可能有人要问了,我要发一个动态的网页怎么办? 发个链接呀
邮箱账号
无论是QQ邮箱抑或网易邮箱都是没有问题的,重要的是有一个可以通过smtp服务器发送邮件的账户名及密码,这里大家百度吧。
发送邮件的代码
因为发送邮件的代码在下面每个步骤都是一样的所以线贴出来
def send_email(msg, mail_to, smtp_host, smtp_username, smtp_password, subject, from_):
msg["Subject"] = Header(subject, "utf-8")
msg["From"] = Header(from_, "utf-8")
if not isinstance(mail_to, list):
mail_to = [mail_to]
msg["To"] = COMMASPACE.join(mail_to)
try:
print("准备连接smtp邮件服务器: %s" % smtp_host)
client = smtplib.SMTP(smtp_host)
print("连接成功")
# client = smtplib.SMTP("localhost")
# client.set_debuglevel(1)
# print(self.mail_user, self.mail_pass)
client.login(smtp_username, smtp_password)
print("登录成功")
# print("=====>", self.mail_from, mail_to)
print("通过邮箱[%s]发送邮件给 %s" % (smtp_username, COMMASPACE.join(mail_to)))
client.

这篇博客介绍了如何使用Python发送图文并茂的邮件,包括发送本地图片、程序生成的照片和带样式的静态网页。文章详细讲解了邮件的格式、所需邮箱账号设置,以及使用SMTP发送邮件的代码示例。通过实例展示了如何利用HTML和CSS增强邮件的表现形式,同时提供了完整的源代码链接。
最低0.47元/天 解锁文章
649

被折叠的 条评论
为什么被折叠?



