本文实例讲述了Django发送html邮件的方法。分享给大家供大家参考。具体如下:
在Django中,发送邮件非常的方便,一直没有时间,今天来做一个小小的总结吧。
我们常用的当然是通过send_mail发送邮件:
subject,message,from_email 和recipient_list 这四个参数是必须的。
subject: 字符串,表示邮件标题。
message: 字符串,表示邮件内容。
from_email: 字符串,表示发件邮箱。
recipient_list: 字符串列表,列表中每个成员都是一个邮箱地址,而且每个收件人都会在 “收件人/To:” 栏看到出现在recipient_list 中的其他收件人。
fail_silently: (可选)布尔值。为False 时,send_mail 会抛出smtplib.SMTPException 异常。smtplib 文档列出了所有可能的异常。这些异常都是SMTPException 的子类。
auth_user: (可选)SMTP服务器的认证用户名。没提供该参数的情况下,Django会使用EMAIL_HOST_USER 配置项的设置。
auth_password: (可选)SMTP服务器的认证密码,没提供该参数的情况下,Django会使用EMAIL_HOST_PASSWORD 配置项的设置。
connection: (可选)发送邮件的后端。没提供该参数的情况下,Django会使用默认后端的实例。
以下是一个简单的事例:
from django.core.mail import send_mail from django.template import Context, loader context = { 'nickname': user.nickname, 'verify_url': verify_url, } email_template_name = 'template.html' t = loader.get_template(email_template_name) mail_list = [user.email, ] send_mail( subject=title, message=t.render(Context(context)), from_email=EMAIL_HOST_USER,# 发件邮箱 recipient_list=mail_list, fail_silently=False, auth_user=EMAIL_HOST_USER, # SMTP服务器的认证用户名 auth_password=EMAIL_HOST_PASSWORD, # SMTP服务器的认证用户密码 connection=None )
用过的人可能会发现,你在template.html中的标签,并没有通过浏览器的解析而显示出来了。
怎么办?我们要发送HTML邮件,Django当然是为你提供了好的解决方案的,请看下面一段代码:
from django.core.mail import EmailMultiAlternatives from django.template import Context, loader subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") msg.send()
看,很简单吧,那么现在我要稍稍的做一点点改动,我需要发送附件给收件人,只需要做一个简单的修改即可:
from django.core.mail import EmailMultiAlternatives from django.template import Context, loader subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") msg.attach_file(u'D:/My Documents/Python/doc/test.doc') # 添加附件发送 msg.send()
好了,到此为止,发送邮件已经结束了。不过,此时,需求变了,我在自己的网站上配置了多个发送邮件的用户名和密码,现在需要用我指定的用户名和密码给用户发送邮件,该怎么办呢?请看下面的一段代码:
from django.core.mail import EmailMultiAlternatives,get_connection from django.template import Context, loader conn = get_connection() # 返回当前使用的邮件后端的实例 conn.username = 'my_email@qq.com'# 更改用户名 conn.password = 'my_email' # 更改密码 conn.host = 'smtp.exmail.qq.com' # 设置邮件服务器 conn.open() # 打开连接 EMAIL_HOST_USER = 'my_email@qq.com' subject, from_email, to = title, EMAIL_HOST_USER, mail_list html_content = t.render(Context(context)) msg = EmailMultiAlternatives(subject, html_content, from_email, to) msg.attach_alternative(html_content, "text/html") conn.send_messages([msg,]) # 我们用send_messages发送邮件 conn.close()# 发送完毕记得关闭连接
看来,也不是很难吧!
django.core.mail 的 get_connection()方法返回你当前使用的邮件后端的实例。
默认情况下,对 get_connection() 的调用会返回一个邮件后端实例,具体是哪个后端由EMAIL_BACKEND 配置项决定。如果指定了``backend`` 参数,就会对该后端进行实例化。
友情提示:在发送的HTML邮件中包含图片时,应该制定可以通过http访问的地址。如:http://www.baidu.com/medias/xxx.png
希望本文所述对大家的Python程序设计有所帮助。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック



