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")
 



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章