web-dev-qa-db-ja.com

smtplibを介して電子メールを送信するときに電子メールコンテンツにhrefリンクを追加する方法

以下のコードでメールを送信しています:

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>
12
Yuwen Yan

サブタイプとして 'html' を指定する必要があります-

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

サブタイプを個別に指定しない場合、サブタイプはデフォルトで'plain'(プレーンテキスト)になります。から ドキュメント -

クラスemail.mime.text.MIMEText(_text [、_subtype [、_charset]])

MIMENonMultipartのサブクラスであるMIMETextクラスは、メジャータイプのテキストのMIMEオブジェクトを作成するために使用されます。 _textはペイロードの文字列です。 _ subtypeはマイナータイプで、デフォルトはプレーンです。

(エンファシスマイン)。

9
Anand S Kumar

これは私のために働いた:)

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:おめでとうございます!アカウントが正常に作成されました。

ページに移動します: ここをクリック

ありがとう、

XYZチーム。

0
Walk