python 使用HTML正文和内联附件发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 使用HTML正文和内联附件发送邮件相关的知识,希望对你有一定的参考价值。
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import sys
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
# GMAIL
username = 'fullUser@address.com'
password = 'password'
# MESSAGE SETTINGS
SUBJECT = 'Subject String'
EMAIL_FROM = 'Email From String <name@domain.com>'
MAIL_TO = ''.join(sys.argv[1])
MAIL_TO_LIST = ['some@mail.com', MAIL_TO]
# COMPOSE MESSAGE
msg = MIMEMultipart()
msg['Subject'] = SUBJECT
msg['From'] = EMAIL_FROM
#msg['Bcc'] = ', '.join(MAIL_TO)
# BODY
htmlBody = """\
<html>
<head>
<style type="text/css">
</style>
</head>
<body>
<img src="cid:attachTag" alt="Attached Imagef">
</body>
</html>
"""
messageBody = MIMEText(htmlBody, 'html', 'utf-8')
msg.attach(messageBody)
# ATTACHMENT
attach = MIMEBase('application', "octet-stream")
attach.set_payload(open("full/path/to/file", "rb").read())
Encoders.encode_base64(attach)
attach.add_header('Content-ID', '<attachTag>')
attach.add_header('Content-Disposition', 'attachment; filename="String Filename"')
msg.attach(attach)
# SERVER AND SEND
# ex: GMAIL
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login(username,password)
server.sendmail(EMAIL_FROM, MAIL_TO_LIST, msg.as_string())
以上是关于python 使用HTML正文和内联附件发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
在使用 Excel VBA 发送的电子邮件中内联附加图像
在 Python 中发送带有 HTML+plain_text 电子邮件的 PDF 附件
如何使用python发送包含正文和附件的邮件
使用 Django 在 HTML 电子邮件模板中将图像作为内联附件发送
Python - 发送带有多个图像附件的电子邮件
发送包含这些附件、htmlbody、内联图像或所有这些附件的 mime 消息?