返回列表 发帖

Python3发送带网址链接和附件的邮件(Windows)

操作系统的版本:Windows 2008R2

发送一个带网址链接的邮件:(使用新浪邮箱的465端口)

脚本内容:(D:\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='j2270168xxx@sina.com'    # 发件人邮箱账号
my_pass = 'Jackxxx'                # 发件人邮箱密码
my_name='zhuohua'                 # 发件人邮箱昵称

receiver='2270168xxx@qq.com'        # 收件人邮箱账号
receiver_name='收件人昵称'          # 收件人昵称

mail_msg = """

<p>...发送HTML格式的邮件...</p>

<p><a href="http://blog.zhuohua.store">这是一个网址链接</a></p>

"""


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.sina.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() # 调用函数过程


运行脚本:
图片1.png
2020-11-7 14:54



QQ邮箱收到的测试邮件:
图片2.png
2020-11-7 14:54














######

发送一个带网址链接和附件的邮件:(使用新浪邮箱的465端口)

脚本内容:(D:\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='j2270168xxx@sina.com'    # 发件人邮箱账号
my_pass = 'Jackxxx'                # 发件人邮箱密码
my_name='zhuohua'                 # 发件人邮箱昵称

receiver='2270168xxx@qq.com'        # 收件人邮箱账号
receiver_name='收件人昵称'          # 收件人昵称

mail_msg = """

<p>发送HTML格式的邮件+附件</p>

<p><a href="http://blog.zhuohua.store">这是一个网址链接</a></p>

"""


#创建一个带附件的实例
msg = MIMEMultipart()

#构造附件1
att1 = MIMEText(open('d:/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('d:/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.sina.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() # 调用函数过程


附件要先创建:
图片4.png
2020-11-7 14:55



运行脚本:
图片3.png
2020-11-7 14:55



QQ邮箱收到的测试邮件:
图片5.png
2020-11-7 14:55

注释:附加的内容支持中文、英文。





相关文章:
Python3发送带网址链接和附件的邮件(Linux)
Python3中新浪邮箱使用465端口发送告警邮件
Win7/Windows2008R2安装Python3





#################################
#################################
亲,学习研究也要劳逸结合哦,来我微店逛逛,买点东西好好犒劳犒劳自己和家人吧^_^^_^

FaSoLa免磨陶瓷刀具 抗氧化厨房切菜刀水果刀切肉刀 寿命长
dao.png
2019-10-2 23:19


【宝家洁】喷雾喷水拖把平板拖把大号 高档木地板除尘 不用手洗的创意拖把 懒人必备
tuoba.png
2019-10-2 23:19


薇语馨 (促销价)6833#夏季新款收腰显瘦蝙蝠袖露肩复古雪纺连衣裙波浪裙子邻家女孩 好质量 支持无理由退货
duoyi.png
2019-10-2 23:19


薇语馨1852真丝连衣裙套装裙两件套系带宽松大码不规则裙子女
danyi.png
2019-10-2 23:19

返回列表