Board logo

标题: Python3发送带网址链接和附件的邮件(Linux) [打印本页]

作者: admin    时间: 2020-11-7 15:08     标题: Python3发送带网址链接和附件的邮件(Linux)

操作系统的版本: [root@localhost ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@localhost ~]# [root@localhost ~]# uname -r 2.6.32-696.el6.x86_64 发送一个带网址链接的邮件:(使用126邮箱的465端口) [root@localhost ~]# cat xx.py #coding=utf-8 import smtplib #以下模块都是内置的,不用额外安装 from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.utils import formataddr my_sender='j13680432xxx@126.com' # 发件人邮箱账号 my_pass = 'Jackxxx' # 发件人邮箱密码 my_name='zhuohua' # 发件人邮箱昵称 receiver='2270168xxx@qq.com' # 收件人邮箱账号 receiver_name='收件人昵称' # 收件人昵称 mail_msg = """

...发送HTML格式的邮件...

这是一个网址链接

""" msg=MIMEText(mail_msg,'html','utf-8')#邮件正文内容使用网址链接 #msg=MIMEText('邮件正文内容', 'plain', 'utf-8')#邮件正文内容不使用网址链接 msg['From']=formataddr([my_name,my_sender]) msg['To']=formataddr([receiver_name,receiver]) msg['Subject']="邮件主题-测试网址链接" # 邮件的主题 def mail(): try: server=smtplib.SMTP_SSL("smtp.126.com", 465) # 发件人邮箱中的SMTP服务器,端口是465 server.login(my_sender, my_pass) server.sendmail(my_sender,[receiver,],msg.as_string()) server.quit()# 关闭连接 print("邮件发送成功") except smtplib.SMTPException as e: print ("Error: 无法发送邮件.Case:%s" % e) if __name__ == '__main__': mail() # 调用函数过程 设置脚本的权限: [root@localhost ~]# chmod a+x xx.py 运行脚本: [root@localhost ~]# python3 xx.py 邮件发送成功 QQ邮箱收到的测试邮件:
图片1.png
2020-11-7 15:06
###### ###### 发送一个带网址链接和附件的邮件:(使用126邮箱的465端口) [root@localhost ~]# cat yy.py #coding=utf-8 import smtplib #以下模块都是内置的,不用额外安装 from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.utils import formataddr my_sender='j13680432xxx@126.com' # 发件人邮箱账号 my_pass = 'Jackxxx' # 发件人邮箱密码 my_name='zhuohua' # 发件人邮箱昵称 receiver='2270168xxx@qq.com' # 收件人邮箱账号 receiver_name='收件人昵称' # 收件人昵称 mail_msg = """

发送HTML格式的邮件+附件

这是一个网址链接

""" #创建一个带附件的实例 msg = MIMEMultipart() #构造附件1 att1 = MIMEText(open('/test1.txt', 'rb').read(), 'base64', 'gb2312') att1["Content-Type"] = 'application/octet-stream' att1["Content-Disposition"] = 'attachment; filename="test1.txt"' #filename的值可以任意写,写什么名字,对应附件就显示什么名字;但不支持中文。 msg.attach(att1) #构造附件2 att2 = MIMEText(open('/test2.txt', 'rb').read(), 'base64', 'gb2312') att2["Content-Type"] = 'application/octet-stream' att2["Content-Disposition"] = 'attachment; filename="My_test2.txt"' msg.attach(att2) msg.attach(MIMEText(mail_msg,'html', 'utf-8')) #邮件正文内容使用网址链接 #msg.attach(MIMEText('邮件正文内容', 'plain', 'utf-8')) #邮件正文内容不使用网址链接 msg['From']=formataddr([my_name,my_sender]) msg['To']=formataddr([receiver_name,receiver]) msg['Subject']="邮件主题-测试网址链接+附件" # 邮件的主题 def mail(): try: server=smtplib.SMTP_SSL("smtp.126.com", 465) # 发件人邮箱中的SMTP服务器,端口是465 server.login(my_sender, my_pass) server.sendmail(my_sender,[receiver,],msg.as_string()) server.quit()# 关闭连接 print("邮件发送成功") except smtplib.SMTPException as e: print ("Error: 无法发送邮件.Case:%s" % e) if __name__ == '__main__': mail() # 调用函数过程 设置脚本的权限: [root@localhost ~]# chmod a+x yy.py 附件要先创建: [root@localhost ~]# ll /*.txt -rw-r--r--. 1 root root 9 11月 6 09:20 /test1.txt -rw-r--r--. 1 root root 12 11月 6 09:20 /test2.txt 运行脚本: [root@localhost ~]# python3 yy.py 邮件发送成功 QQ邮箱收到的测试邮件:
图片2.png
2020-11-7 15:06
注释:附加的内容支持中文、英文。 相关文章: Python3发送带网址链接和附件的邮件(Windows) Python3中126邮箱使用465端口发告警邮件 CentOS6/7安装Python3

图片附件: 图片1.png (2020-11-7 15:06, 16.89 KB) / 下载次数 74
http://blog.zhuohua.store/attachment.php?aid=12204&k=64912f527fa4c3abfc4eacbc8d75c591&t=1642569839&sid=217Yke



图片附件: 图片2.png (2020-11-7 15:06, 34.06 KB) / 下载次数 70
http://blog.zhuohua.store/attachment.php?aid=12205&k=d8d85bd172208ca08d67a92cf8d317d9&t=1642569839&sid=217Yke






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2