如何在通过smtplib发送电子邮件时在电子邮件内容中添加href链接

时间:2015-07-30 04:23:37

标签: python email smtp smtplib

我通过以下代码发送电子邮件:

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>

2 个答案:

答案 0 :(得分:9)

您应指定'html'作为子类型 -

msg = MIMEText(u'<a href="www.google.com">abc</a>','html')

如果不单独指定子类型,子类型默认为'plain'(纯文本)。来自documentations -

  

class email.mime.text.MIMEText(_text [,_ subtype [,_ charset]])

     

MIMENonMultipart的子类,MIMEText类用于创建主要类型文本的MIME对象。 _text是有效负载的字符串。 _subtype是次要类型,默认为plain。

(强调我的)。

答案 1 :(得分:0)

这对我有用:)

email_body = """<pre> 
Congratulations! We've successfully created account.
Go to the page: <a href="https://www.google.com/">click here</a>
Thanks,
XYZ Team.
</pre>"""

msg = MIMEText(email_body ,'html')

O / P: 恭喜你!我们已经成功创建了帐户。

转到页面:click here

谢谢

XYZ团队。