python调整邮件字体的间距和格式

由于发送邮件要标准化,所以之前写的邮件的功能就被要求修改格式,其他的都很简单,就信息的格式改发生了点问题

首先是正文的字体要改成Calibri

所以就使用了发送html格式的邮件(这里百度一大把)

但是我发现他们的发送html都不涉及css,所以临阵磨枪看了一点,还算比较简单

<p style="font-family:Calibri">Hi Research Team<br>
        This is QC report.<br>
        Best,<br>
        Data Platform Team</p>

写出代码:

sender = '收件人的邮箱' 
smtpserver = 'smtp.zoho.com'  # 邮件服务器
username = Email.MAIL_USER
receiver = '收件人的邮箱'
file_name = '文件名'

msgRoot = MIMEMultipart()
msgRoot["To"] = receiver
title_name = datasource + ' ' + wizard_field_name + ' Topline Report ' + str(max_time)[:10] + ' data'
msgRoot['Subject'] = title_name  # 邮件标题,这里我把标题设成了你所发的附件名
msg = '''<p style="font-family:Calibri">Hi Research Team<br>
        This is QC report.<br>
        Best,<br>
        Data Platform Team</p>'''

msgText = MIMEText('%s' % msg, 'html', 'utf-8')  # 以html形式呈现信息
msgRoot.attach(msgText)
att = MIMEText(open(file_dir, 'rb').read(), 'base64', 'utf-8')  # 添加附件
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="%s"' % file_name
msgRoot.attach(att)
smtp = smtplib.SMTP_SSL(smtpserver, 465)
while 1:  # 持续尝试发送,直到发送成功
    try:
        smtp.sendmail(sender, receiver, msgRoot.as_string())  # 发送邮件
        break
    except:
        try:
            #                 smtp.connect(smtpserver)  # 连接至邮件服务器
            smtp.login(username, password)  # 登录邮件服务器
        except:
            print("failed to login to smtp server")  # 登录失败
print("QC finish")
 



发布了119 篇原创文章 · 获赞 14 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_38115310/article/details/103064969
今日推荐