通过 smtplib 发送电子邮件时如何在电子邮件内容中添加 href 链接
问题描述
我正在通过以下代码发送电子邮件:
I'm sending email through below code:
msg = MIMEText(u'<a href="www.google.com">abc</a>')
msg['Subject'] = 'subject'
msg['From'] = 'xxx'
msg['To'] = 'xxx'
s = smtplib.SMTP(xxx, 25)
s.sendmail(xxx, xxx, msg.as_string())
我想收到的是
abc
我实际收到的是:
<a href="www.google.com">abc</a>
解决方案
你应该指定 'html'
作为子类型 -
You should specify 'html'
as the subtype -
msg = MIMEText(u'<a href="www.google.com">abc</a>','html')
不单独指定子类型,子类型默认为'plain'
(纯文本).来自 文档 -
Without specifying the subtype separately , the subtype defaults to 'plain'
(plain-text). From documentations -
类 email.mime.text.MIMEText(_text[, _subtype[, _charset]])
class email.mime.text.MIMEText(_text[, _subtype[, _charset]])
MIMENonMultipart 的子类,MIMEText 类用于创建主要类型文本的 MIME 对象._text 是有效负载的字符串._subtype 是次要类型,默认为普通类型.
A subclass of MIMENonMultipart, the MIMEText class is used to create MIME objects of major type text. _text is the string for the payload. _subtype is the minor type and defaults to plain.
(强调我的).
相关文章