how to add href link in email content when sending

2019-02-09 08:00发布

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

what I want to receive is

abc

what I actually received is:

<a href="www.google.com">abc</a>

2条回答
太酷不给撩
2楼-- · 2019-02-09 08:36

You should specify 'html' as the subtype -

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

Without specifying the subtype separately , the subtype defaults to 'plain' (plain-text). From documentations -

class email.mime.text.MIMEText(_text[, _subtype[, _charset]])

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.

(Emphasis mine) .

查看更多
对你真心纯属浪费
3楼-- · 2019-02-09 08:52

This worked for me :)

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: Congratulations! We've successfully created account.

Go to the page: click here

Thanks,

XYZ Team.

查看更多
登录 后发表回答