{"title":"メールを送信する","version":"5.0","locale":"ja","docname":"topics/email","url":"/ja/5.0/topics/email/","canonical":"https://djangodocs.dev/ja/5.0/topics/email/","summary":"Python は smtplib モジュールを使ってメール送信インタフェースを提供していますが、Django はさらにいくつかの軽いラッパーを用意しています。これらのラッパーは、 メールをよりすばやく送信したり、開発中にメール送信をテストしたり、SMTP…","html":"<span id=\"sending-email\"></span><h1>メールを送信する<a class=\"heading-anchor\" href=\"#module-django.core.mail\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Python は <a class=\"reference external\" href=\"https://docs.python.org/3/library/smtplib.html#module-smtplib\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">smtplib</span></code></a> モジュールを使ってメール送信インタフェースを提供していますが、Django はさらにいくつかの軽いラッパーを用意しています。これらのラッパーは、 メールをよりすばやく送信したり、開発中にメール送信をテストしたり、SMTP を使用できないプラットフォームをサポートしたりするために用意されています。</p>\n<p>コードは <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail</span></code> モジュールにあります。</p>\n<section id=\"quick-example\">\n<h2>簡単な例<a class=\"heading-anchor\" href=\"#quick-example\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>次の 2 文を書くことで、</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.mail</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">send_mail</span>\n\n<span class=\"n\">send_mail</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Subject here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Here is the message.&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;to@example.com&quot;</span><span class=\"p\">],</span>\n    <span class=\"n\">fail_silently</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>設定内の <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_PORT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_PORT</span></code></a> で指定された SMTP ホストとポートを使用して、メールが送信されます。<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_USER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_USER</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_PASSWORD</span></code></a> が指定されている場合は、SMTP サーバーの認証に使われます。そして、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_USE_TLS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_USE_TLS</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_USE_SSL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_USE_SSL</span></code></a> 設定により、セキュアコネクションを使うかどうかをコントロールします。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail</span></code> で送信されるメールの文字セットは、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEFAULT_CHARSET\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CHARSET</span></code></a> 設定の値にセットされます。</p>\n</aside>\n</section>\n<section id=\"send-mail\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code><a class=\"heading-anchor\" href=\"#send-mail\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.send_mail\">\n<span class=\"sig-name descname\"><span class=\"pre\">send_mail</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">subject</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">message</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">from_email</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">recipient_list</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auth_user</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auth_password</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">html_message</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.send_mail\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>ほとんどの場合、 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.send_mail()</span></code> を使ってメールを送信できます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">from_email</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">recipient_list</span></code> の 4 つの引数は必須です。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>: 文字列。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code>: 文字列。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">from_email</span></code>: 文字列。もし <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> なら、 Django は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEFAULT_FROM_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_FROM_EMAIL</span></code></a> 設定の値を使います。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">recipient_list</span></code>: メールアドレスを表す文字列のリスト。<code class=\"docutils literal notranslate\"><span class=\"pre\">recipient_list</span></code> の各メンバーは、メールメッセージの &quot;To:&quot; フィールドで他の受信者を見ることができます。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently</span></code>: 真偽値です。これが <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> の場合、エラーが発生したときに <code class=\"docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code> は <a class=\"reference external\" href=\"https://docs.python.org/3/library/smtplib.html#smtplib.SMTPException\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">smtplib.SMTPException</span></code></a> を発生させます。可能な例外のリストについては <a class=\"reference external\" href=\"https://docs.python.org/3/library/smtplib.html#module-smtplib\" title=\"(in Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">smtplib</span></code></a> のドキュメントを参照してください。これらの例外はすべて <a class=\"reference external\" href=\"https://docs.python.org/3/library/smtplib.html#smtplib.SMTPException\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">SMTPException</span></code></a> のサブクラスです。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">auth_user</span></code>: SMTP サーバー認証のためのユーザー名で、省略可能。指定されなかった場合、Django <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_USER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_USER</span></code></a> 設定の値を使います。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">auth_password</span></code>: SMTP サーバー認証のためのパスワードで、省略可能。指定されなかった場合、Django は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_PASSWORD</span></code></a> 設定の値を使います。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">connection</span></code>: メール送信のために使うバックエンドで、省略可能。指定しなかった場合、デフォルトのバックエンドのインスタンスが使われます。詳しくは <a class=\"reference internal\" href=\"#topic-email-backends\"><span class=\"std std-ref\">メールのバックエンド</span></a> を参照してください。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">html_message</span></code>: <code class=\"docutils literal notranslate\"><span class=\"pre\">html_message</span></code> が指定された場合、送信されるメールは <em class=\"mimetype\">multipart/alternative</em> となり、<em class=\"mimetype\">text/plain</em> コンテンツタイプを持つ <code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code> と <em class=\"mimetype\">text/html</em> コンテンツタイプを持つ <code class=\"docutils literal notranslate\"><span class=\"pre\">html_message</span></code> を合わせ持つものになります。</p></li>\n</ul>\n<p>返り値は、送信に成功したメッセージの数です (送信されるメッセージが 1 つだけの場合もあるため、<code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> や <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> になることもあります)。</p>\n</section>\n<section id=\"send-mass-mail\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code><a class=\"heading-anchor\" href=\"#send-mass-mail\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.send_mass_mail\">\n<span class=\"sig-name descname\"><span class=\"pre\">send_mass_mail</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">datatuple</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auth_user</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">auth_password</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.send_mass_mail\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.send_mass_mail()</span></code> は、大量のメール送信を扱うために用意されています。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">datatuple</span></code> はメッセージの集合を表すタプルです。タプル内の各要素は、それぞれ1種類のメッセージを表すタプルであり、次の形式を持ちます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"p\">(</span><span class=\"n\">subject</span><span class=\"p\">,</span> <span class=\"n\">message</span><span class=\"p\">,</span> <span class=\"n\">from_email</span><span class=\"p\">,</span> <span class=\"n\">recipient_list</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">auth_user</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">auth_password</span></code> の 3 つは、<a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> と同じように機能します。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">datatuple</span></code> に含まれる各要素は、最終的には別々のメールメッセージとなります。<a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> における挙動と同じく、<code class=\"docutils literal notranslate\"><span class=\"pre\">recipient_list</span></code> 内の受信者は、メールメッセージの &quot;To:&quot; フィールドに書かれている他の受信者のアドレスを見ることができます。</p>\n<p>たとえば、次のコードは異なる 2 つのメッセージを 異なる 2 つの受信者のセットに送信します。しかし、メールサーバーへのコネクションは 1 つしか開かれません。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">message1</span> <span class=\"o\">=</span> <span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Subject here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Here is the message&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;first@example.com&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;other@example.com&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">)</span>\n<span class=\"n\">message2</span> <span class=\"o\">=</span> <span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Another Subject&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Here is another message&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;second@test.com&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">)</span>\n<span class=\"n\">send_mass_mail</span><span class=\"p\">((</span><span class=\"n\">message1</span><span class=\"p\">,</span> <span class=\"n\">message2</span><span class=\"p\">),</span> <span class=\"n\">fail_silently</span><span class=\"o\">=</span><span class=\"kc\">False</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>戻り値は、メッセージ送信に成功した数です。</p>\n<section id=\"send-mass-mail-vs-send-mail\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code> の比較<a class=\"heading-anchor\" href=\"#send-mass-mail-vs-send-mail\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"#django.core.mail.send_mass_mail\" title=\"django.core.mail.send_mass_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code></a> と <a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> 違いは、<a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> が実行されるごとに毎回コネクションを開くのに対して、<a class=\"reference internal\" href=\"#django.core.mail.send_mass_mail\" title=\"django.core.mail.send_mass_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code></a> はすべてのメッセージに対して 1 つだけコネクションを使います。これにより、<a class=\"reference internal\" href=\"#django.core.mail.send_mass_mail\" title=\"django.core.mail.send_mass_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code></a> の方が若干効率がよくなっています。</p>\n</section>\n</section>\n<section id=\"mail-admins\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins()</span></code><a class=\"heading-anchor\" href=\"#mail-admins\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.mail_admins\">\n<span class=\"sig-name descname\"><span class=\"pre\">mail_admins</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">subject</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">message</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">html_message</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.mail_admins\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.mail_admins()</span></code> は、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-ADMINS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ADMINS</span></code></a> 設定で定義されているサイト管理者 (admin) に対してメールを送信するためのショートカットです。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins()</span></code> は件名の前に <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_SUBJECT_PREFIX\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_SUBJECT_PREFIX</span></code></a> 設定の値を付けますが、デフォルトでは <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;[Django]</span> <span class=\"pre\">&quot;</span></code> です。</p>\n<p>メールの &quot;From: &quot; ヘッダは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-SERVER_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SERVER_EMAIL</span></code></a> 設定の値になります。</p>\n<p>このメソッドは利便性と読みやすさのために存在します。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">html_message</span></code> が指定された場合、送信されるメールは <em class=\"mimetype\">multipart/alternative</em> となり、<em class=\"mimetype\">text/plain</em> コンテンツタイプを持つ <code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code> と <em class=\"mimetype\">text/html</em> コンテンツタイプを持つ <code class=\"docutils literal notranslate\"><span class=\"pre\">html_message</span></code> を合わせ持つものになります。</p>\n</section>\n<section id=\"mail-managers\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">mail_managers()</span></code><a class=\"heading-anchor\" href=\"#mail-managers\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.mail_managers\">\n<span class=\"sig-name descname\"><span class=\"pre\">mail_managers</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">subject</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">message</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">connection</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">html_message</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.mail_managers\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.mail_managers()</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">mail_admins()</span></code> とほぼ同じで、<a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-MANAGERS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MANAGERS</span></code></a> 設定で定義されているサイト管理者 (manager) にメールを送信します。</p>\n</section>\n<section id=\"examples\">\n<h2>例<a class=\"heading-anchor\" href=\"#examples\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>以下の例は、<a class=\"reference external\" href=\"mailto:john&#37;&#52;&#48;example&#46;com\">john<span>&#64;</span>example<span>&#46;</span>com</a> と <a class=\"reference external\" href=\"mailto:jane&#37;&#52;&#48;example&#46;com\">jane<span>&#64;</span>example<span>&#46;</span>com</a> に1つのメールを送信します。2人とも &quot;To:&quot; 内に宛先が見られます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">send_mail</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Subject&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Message.&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;john@example.com&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;jane@example.com&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>次の例は、<a class=\"reference external\" href=\"mailto:john&#37;&#52;&#48;example&#46;com\">john<span>&#64;</span>example<span>&#46;</span>com</a> と <a class=\"reference external\" href=\"mailto:jane&#37;&#52;&#48;example&#46;com\">jane<span>&#64;</span>example<span>&#46;</span>com</a> にメールを送信しますが、受信者はどちらも個別のメールを受け取ります。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">datatuple</span> <span class=\"o\">=</span> <span class=\"p\">(</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;Subject&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Message.&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;john@example.com&quot;</span><span class=\"p\">]),</span>\n    <span class=\"p\">(</span><span class=\"s2\">&quot;Subject&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;Message.&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;jane@example.com&quot;</span><span class=\"p\">]),</span>\n<span class=\"p\">)</span>\n<span class=\"n\">send_mass_mail</span><span class=\"p\">(</span><span class=\"n\">datatuple</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"preventing-header-injection\">\n<h2>ヘッダインジェクションを防止する<a class=\"heading-anchor\" href=\"#preventing-header-injection\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p><a class=\"reference external\" href=\"http://www.nyphp.org/phundamentals/8_Preventing-Email-Header-Injection.html\">ヘッダインジェクション</a> は、攻撃者が 、スクリプトで生成されたメールメッセージの &quot;To:&quot; と &quot;From:&quot; をコントロールするために、メールヘッダを挿入してしまうセキュリティ上の脆弱性です。</p>\n<p>上述した Django のメール機能は、ヘッダー値の改行を禁止することによってヘッダインジェクションを防ぎます。 <code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">from_email</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">recipient_list</span></code> のいずれかに 改行 (Unix、Windows ないし Mac のスタイル) が含まれている場合、email 関数 (例えば <a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a>) は <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.BadHeaderError</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">ValueError</span></code> のサブクラス) 投げるため、メールは送信されません。メール送信を行う関数にデータを渡す前に、開発者は責任を持ってすべてのデータを検証しておく必要があります。</p>\n<p>ヘッダーが含まれている文字列を <code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code> として渡した場合、ヘッダー部分はメールメッセージの冒頭に出力されます。</p>\n<p>次の例は、リクエストの POST データから <code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">message</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">from_email</span></code> を取得し、それを <a class=\"reference external\" href=\"mailto:admin&#37;&#52;&#48;example&#46;com\">admin<span>&#64;</span>example<span>&#46;</span>com</a> に送信し、完了したら &quot;/contact/thanks/&quot; にリダイレクトします。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.mail</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">BadHeaderError</span><span class=\"p\">,</span> <span class=\"n\">send_mail</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.http</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">HttpResponse</span><span class=\"p\">,</span> <span class=\"n\">HttpResponseRedirect</span>\n\n\n<span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">send_email</span><span class=\"p\">(</span><span class=\"n\">request</span><span class=\"p\">):</span>\n    <span class=\"n\">subject</span> <span class=\"o\">=</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">&quot;subject&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">message</span> <span class=\"o\">=</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">&quot;message&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n    <span class=\"n\">from_email</span> <span class=\"o\">=</span> <span class=\"n\">request</span><span class=\"o\">.</span><span class=\"n\">POST</span><span class=\"o\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">&quot;from_email&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">if</span> <span class=\"n\">subject</span> <span class=\"ow\">and</span> <span class=\"n\">message</span> <span class=\"ow\">and</span> <span class=\"n\">from_email</span><span class=\"p\">:</span>\n        <span class=\"k\">try</span><span class=\"p\">:</span>\n            <span class=\"n\">send_mail</span><span class=\"p\">(</span><span class=\"n\">subject</span><span class=\"p\">,</span> <span class=\"n\">message</span><span class=\"p\">,</span> <span class=\"n\">from_email</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"s2\">&quot;admin@example.com&quot;</span><span class=\"p\">])</span>\n        <span class=\"k\">except</span> <span class=\"n\">BadHeaderError</span><span class=\"p\">:</span>\n            <span class=\"k\">return</span> <span class=\"n\">HttpResponse</span><span class=\"p\">(</span><span class=\"s2\">&quot;Invalid header found.&quot;</span><span class=\"p\">)</span>\n        <span class=\"k\">return</span> <span class=\"n\">HttpResponseRedirect</span><span class=\"p\">(</span><span class=\"s2\">&quot;/contact/thanks/&quot;</span><span class=\"p\">)</span>\n    <span class=\"k\">else</span><span class=\"p\">:</span>\n        <span class=\"c1\"># In reality we&#39;d use a form class</span>\n        <span class=\"c1\"># to get proper validation errors.</span>\n        <span class=\"k\">return</span> <span class=\"n\">HttpResponse</span><span class=\"p\">(</span><span class=\"s2\">&quot;Make sure all fields are entered and valid.&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n</section>\n<section id=\"the-emailmessage-class\">\n<span id=\"emailmessage-and-smtpconnection\"></span><h2><code class=\"docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code> クラス<a class=\"heading-anchor\" href=\"#the-emailmessage-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django の <a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> と <a class=\"reference internal\" href=\"#django.core.mail.send_mass_mail\" title=\"django.core.mail.send_mass_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mass_mail()</span></code></a> 関数は <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> クラスを実際に使うための小さなラッパーです。</p>\n<p><a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> クラスの機能のすべてが <a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> やその他のラッパーで使用可能というわけではありません。高度な機能を使いたい場合 (例えば BCC の利用、ファイル添付やマルチパートのメールなど) <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> のインスタンスを直接作成する必要があります。</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">注釈</p>\n<p>これは設計特性です。<a class=\"reference internal\" href=\"#django.core.mail.send_mail\" title=\"django.core.mail.send_mail\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">send_mail()</span></code></a> およびその関連の関数は、元は Django が提供した唯一のインタフェースでした。しかし、受け入れるパラメータのリストが次第に肥大化してきてしまったので、よりオブジェクト指向的な設計に移行し、元の関数は後方互換性確保のためだけに残すことになりました。</p>\n</aside>\n<p><a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> はメールメッセージ本体を作成する役割を担っており、その後、<a class=\"reference internal\" href=\"#topic-email-backends\"><span class=\"std std-ref\">メールのバックエンド</span></a> がメールを送信する役目を果たします。</p>\n<p>利便性のため、 <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> には単一のメールを送信するための <code class=\"docutils literal notranslate\"><span class=\"pre\">send()</span></code> メソッドが用意されています。複数のメッセージを送信する必要がある場合は、メールバックエンドAPIが <a class=\"reference internal\" href=\"#topics-sending-multiple-emails\"><span class=\"std std-ref\">別の方法</span></a> を提供しています。</p>\n<section id=\"emailmessage-objects\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code> オブジェクト<a class=\"heading-anchor\" href=\"#emailmessage-objects\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.EmailMessage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">EmailMessage</span></span><a class=\"heading-anchor\" href=\"#django.core.mail.EmailMessage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p><a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> クラスは、以下のパラメータで (省略可能な引数が使われた場合、その順番で) 初期化されます。全てのパラメータは省略可能で、<code class=\"docutils literal notranslate\"><span class=\"pre\">send()</span></code> メソッドを呼ぶ前のタイミングでセットされます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">subject</span></code>: メールの件名の行。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">body</span></code>: 本文のテキスト。プレーンテキストのメッセージでなければなりません。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">from_email</span></code>: 送信者のアドレス。 <code class=\"docutils literal notranslate\"><span class=\"pre\">fred&#64;example.com</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;Fred&quot;</span> <span class=\"pre\">&lt;fred&#64;example.com&gt;</span></code> のどちらの形式でも構いません。省略された場合は <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-DEFAULT_FROM_EMAIL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_FROM_EMAIL</span></code></a> の設定が使用されます。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">to</span></code>: 受信者のメールアドレスのリストまたはタプル。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">bcc</span></code>: メールを送信するときに &quot;Bcc&quot; ヘッダ内で使われるメールアドレスのリストまたはタプル。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">connection</span></code>: メールバックエンドのインスタンス。複数のメッセージに同一のコネクションを使いたいときに指定します。省略した場合、<code class=\"docutils literal notranslate\"><span class=\"pre\">send()</span></code> が呼ばれる時に新しいコネクションが生成されます。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">attachments</span></code>： メッセージに添付する添付ファイルのリスト。 <a class=\"reference external\" href=\"https://docs.python.org/3/library/email.mime.html#email.mime.base.MIMEBase\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MIMEBase</span></code></a> インスタンスか <code class=\"docutils literal notranslate\"><span class=\"pre\">(filename,</span> <span class=\"pre\">content,</span> <span class=\"pre\">mimetype)</span></code> の3値タプルです。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">headers</span></code>: メッセージに追加するヘッダーの辞書。キーはヘッダ名、値はヘッダ値です。メールメッセージに対して適切なヘッダ名と値にするのは、呼び出す側の責任です。対応する属性は <code class=\"docutils literal notranslate\"><span class=\"pre\">extra_headers</span></code> です。</p></li>\n<li><p>メールを送信するときに &quot;Cc&quot; ヘッダ内で使われる、受信者のアドレスのリストまたはタプル。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">reply_to</span></code>: メールを送信するときに &quot;Reply-To&quot; ヘッダ内で使われる、受信者のアドレスのリストまたはタプル。</p></li>\n</ul>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.mail</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">EmailMessage</span>\n\n<span class=\"n\">email</span> <span class=\"o\">=</span> <span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Body goes here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;to1@example.com&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;to2@example.com&quot;</span><span class=\"p\">],</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;bcc@example.com&quot;</span><span class=\"p\">],</span>\n    <span class=\"n\">reply_to</span><span class=\"o\">=</span><span class=\"p\">[</span><span class=\"s2\">&quot;another@example.com&quot;</span><span class=\"p\">],</span>\n    <span class=\"n\">headers</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;Message-ID&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;foo&quot;</span><span class=\"p\">},</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>このクラスには以下のメソッドがあります。</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">send(fail_silently=False)</span></code> はメールを送信します。メールの作成時にコネクションが指定されていた場合は、そのコネクションが使用されます。 そうでない場合は、デフォルトのバックエンドのインスタンスがインスタンス化され、使用されます。キーワード引数 <code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently</span></code> が <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> の場合、メッセージの送信中に例外が発生した場合、その例外は処理されます。空の受信者リストは例外を発生させません。メッセージが正常に送信された場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">1</span></code> を返し、そうでない場合は <code class=\"docutils literal notranslate\"><span class=\"pre\">0</span></code> を返します。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">message()</span></code> は送信するメッセージを保持する <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.SafeMIMEText</span></code> オブジェクト (Python の <a class=\"reference external\" href=\"https://docs.python.org/3/library/email.mime.html#email.mime.text.MIMEText\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MIMEText</span></code></a> クラスのサブクラス) または <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.SafeMIMEMultipart</span></code> オブジェクトを構築します。もし <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> クラスを拡張する必要がある場合は、おそらくこのメソッドをオーバーライドして MIME オブジェクトに必要な内容を入れることになるでしょう。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">recipients()</span></code> は、<code class=\"docutils literal notranslate\"><span class=\"pre\">to</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">cc</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">bcc</span></code> のいずれかの属性に記録されている、メッセージの全ての受信者のリストを返します。サブクラス化するときには、メッセージの送信時に SMTP サーバが受信者の完全な一覧を必要とするため、このメソッドもオーバーライドする必要があります。クラス内で受信者を指定する別の方法を追加する場合は、このメソッドからも返される必要があります。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">attach()</span></code> は新しい添付ファイルを作成し、メッセージに追加します。<code class=\"docutils literal notranslate\"><span class=\"pre\">attach()</span></code> を呼ぶには2 つの方法があります。</p>\n<ul>\n<li><p><a class=\"reference external\" href=\"https://docs.python.org/3/library/email.mime.html#email.mime.base.MIMEBase\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">MIMEBase</span></code></a> のインスタンスを引数として渡すことができます。これは生成されるメッセージに直接挿入されます。</p></li>\n<li><p>もしくは、<code class=\"docutils literal notranslate\"><span class=\"pre\">attach()</span></code> の 3 つの引数を引き渡します: <code class=\"docutils literal notranslate\"><span class=\"pre\">filename</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">content</span></code>、<code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> です。<code class=\"docutils literal notranslate\"><span class=\"pre\">filename</span></code> は、メール内に表示される添付ファイルの名前です。<code class=\"docutils literal notranslate\"><span class=\"pre\">content</span></code> は、添付ファイル内に含まれるデータです。<code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> は添付ファイルに対する MIME タイプで、省略可能です。<code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> を省略した場合、MIME コンテンツタイプは添付ファイルのファイル名から推測されます。</p>\n<p>例:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">message</span><span class=\"o\">.</span><span class=\"n\">attach</span><span class=\"p\">(</span><span class=\"s2\">&quot;design.png&quot;</span><span class=\"p\">,</span> <span class=\"n\">img_data</span><span class=\"p\">,</span> <span class=\"s2\">&quot;image/png&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>また <em class=\"mimetype\">message/rfc822</em> の <code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> を指定すると、 <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.mail.EmailMessage</span></code></a> や <a class=\"reference external\" href=\"https://docs.python.org/3/library/email.compat32-message.html#email.message.Message\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">email.message.Message</span></code></a> も受け付けます。</p>\n<p><em class=\"mimetype\">text/</em> で始まる <code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> では、コンテンツは文字列であることが期待されます。バイナリデータはUTF-8でデコードされ、それが失敗した場合、MIMEタイプは <em class=\"mimetype\">application/octet-stream</em> に変更され、データは変更されずに添付されます。</p>\n<p>さらに、 <em class=\"mimetype\">message/rfc822</em> の添付ファイルは <span class=\"target\" id=\"index-2\"></span><a class=\"rfc reference external\" href=\"https://datatracker.ietf.org/doc/html/rfc2046.html#section-5.2.1\"><strong>RFC 2046 Section 5.2.1</strong></a> に違反して base64 エンコードされることはなくなりました。これは <a class=\"reference external\" href=\"https://bugzilla.gnome.org/show_bug.cgi?id=651197\">Evolution</a> と <a class=\"reference external\" href=\"https://bugzilla.mozilla.org/show_bug.cgi?id=333880\">Thunderbird</a> で添付ファイルを表示する際に問題を引き起こす可能性があります。</p>\n</li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">attach_file()</span></code> はファイルシステム上のファイルを使って新しい添付ファイルを作成します。添付するファイルのパスと、: オプションで添付に使用する MIME タイプを指定して呼び出してください。MIMEタイプが省略された場合は、ファイル名から推測されます。次のように使用します:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">message</span><span class=\"o\">.</span><span class=\"n\">attach_file</span><span class=\"p\">(</span><span class=\"s2\">&quot;/images/weather_map.png&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><em class=\"mimetype\">text/</em> で始まるMIMEタイプでは、バイナリデータは <code class=\"docutils literal notranslate\"><span class=\"pre\">attach()</span></code> のように扱われます。</p>\n</li>\n</ul>\n<section id=\"sending-alternative-content-types\">\n<h4>代替のコンテンツタイプを送信する<a class=\"heading-anchor\" href=\"#sending-alternative-content-types\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>メール内にコンテンツの複数のバージョンを入れておくのが便利です; 古典的な手法では、メッセージをテキストと HTML の両方のバージョンで送信します。 Django のメールのライブラリで、<code class=\"docutils literal notranslate\"><span class=\"pre\">EmailMultiAlternatives</span></code> を使ってこれを実現できます。この <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> のサブクラスには、<code class=\"docutils literal notranslate\"><span class=\"pre\">attach_alternative()</span></code> があり、メール内のメッセージ本文の別バージョンを追加できます。(クラスの初期化を含む) 他のメソッドは <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> から直接継承されます。</p>\n<p>テキストと HTML の組み合わせを送るには、以下のように書きます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.mail</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">EmailMultiAlternatives</span>\n\n<span class=\"n\">subject</span><span class=\"p\">,</span> <span class=\"n\">from_email</span><span class=\"p\">,</span> <span class=\"n\">to</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;hello&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span> <span class=\"s2\">&quot;to@example.com&quot;</span>\n<span class=\"n\">text_content</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;This is an important message.&quot;</span>\n<span class=\"n\">html_content</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;&lt;p&gt;This is an &lt;strong&gt;important&lt;/strong&gt; message.&lt;/p&gt;&quot;</span>\n<span class=\"n\">msg</span> <span class=\"o\">=</span> <span class=\"n\">EmailMultiAlternatives</span><span class=\"p\">(</span><span class=\"n\">subject</span><span class=\"p\">,</span> <span class=\"n\">text_content</span><span class=\"p\">,</span> <span class=\"n\">from_email</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"n\">to</span><span class=\"p\">])</span>\n<span class=\"n\">msg</span><span class=\"o\">.</span><span class=\"n\">attach_alternative</span><span class=\"p\">(</span><span class=\"n\">html_content</span><span class=\"p\">,</span> <span class=\"s2\">&quot;text/html&quot;</span><span class=\"p\">)</span>\n<span class=\"n\">msg</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>\n</code></pre></div>\n<p>デフォルトでは、<a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> 内の <code class=\"docutils literal notranslate\"><span class=\"pre\">body</span></code> パラメータの MIME タイプは <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;text/plain&quot;</span></code> です。この設定だとメールクライアントにかかわらず全ての受信者がメールを読むことができるので、このままにしておくのが実用的です。しかし、受信者が代替のコンテンツタイプを扱えることが確かな場合には、<a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> の <code class=\"docutils literal notranslate\"><span class=\"pre\">content_subtype</span></code> 属性を使ってメインのコンテンツタイプを変更することもできます。主なタイプは常に <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;text&quot;</span></code> ですが、サブタイプを変更できます。例えば:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">msg</span> <span class=\"o\">=</span> <span class=\"n\">EmailMessage</span><span class=\"p\">(</span><span class=\"n\">subject</span><span class=\"p\">,</span> <span class=\"n\">html_content</span><span class=\"p\">,</span> <span class=\"n\">from_email</span><span class=\"p\">,</span> <span class=\"p\">[</span><span class=\"n\">to</span><span class=\"p\">])</span>\n<span class=\"n\">msg</span><span class=\"o\">.</span><span class=\"n\">content_subtype</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;html&quot;</span>  <span class=\"c1\"># Main content is now text/html</span>\n<span class=\"n\">msg</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>\n</code></pre></div>\n</section>\n</section>\n</section>\n<section id=\"email-backends\">\n<span id=\"topic-email-backends\"></span><h2>メールのバックエンド<a class=\"heading-anchor\" href=\"#email-backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>実際のメール送信は、メールバックエンドによって処理されます。</p>\n<p>メールバックエンドのクラスには以下のメソッドがあります:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> は、長寿命のメール送信のコネクションをインスタンス化します。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">close()</span></code> は、現在のメール送信のコネクションを閉じます。</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages(email_messages)</span></code> は <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> オブジェクトのリストを送信します。コネクションがオープンになっていない場合、この呼び出しを行うと暗黙的にコネクションがオープンになり、その後コネクションがクローズされます。コネクションがすでにオープンになっている場合は、メールが送信された後もオープンのままです。</p></li>\n</ul>\n<p>コンテキストマネジャーとしても使うことができ、必要に応じて自動的に <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> と <code class=\"docutils literal notranslate\"><span class=\"pre\">close()</span></code> 呼びます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">mail</span>\n\n<span class=\"k\">with</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">get_connection</span><span class=\"p\">()</span> <span class=\"k\">as</span> <span class=\"n\">connection</span><span class=\"p\">:</span>\n    <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n        <span class=\"n\">subject1</span><span class=\"p\">,</span>\n        <span class=\"n\">body1</span><span class=\"p\">,</span>\n        <span class=\"n\">from1</span><span class=\"p\">,</span>\n        <span class=\"p\">[</span><span class=\"n\">to1</span><span class=\"p\">],</span>\n        <span class=\"n\">connection</span><span class=\"o\">=</span><span class=\"n\">connection</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>\n    <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n        <span class=\"n\">subject2</span><span class=\"p\">,</span>\n        <span class=\"n\">body2</span><span class=\"p\">,</span>\n        <span class=\"n\">from2</span><span class=\"p\">,</span>\n        <span class=\"p\">[</span><span class=\"n\">to2</span><span class=\"p\">],</span>\n        <span class=\"n\">connection</span><span class=\"o\">=</span><span class=\"n\">connection</span><span class=\"p\">,</span>\n    <span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>\n</code></pre></div>\n<section id=\"obtaining-an-instance-of-an-email-backend\">\n<h3>メールバックエンドのインスタンスを取得する<a class=\"heading-anchor\" href=\"#obtaining-an-instance-of-an-email-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail</span></code> 内の <a class=\"reference internal\" href=\"#django.core.mail.get_connection\" title=\"django.core.mail.get_connection\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_connection()</span></code></a> 関数は、利用可能なメールバックエンドのインスタンスを返します。</p>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.get_connection\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_connection</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">backend</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.get_connection\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>デフォルトでは、<code class=\"docutils literal notranslate\"><span class=\"pre\">get_connection()</span></code> を呼び出すと <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_BACKEND</span></code></a> 内で指定されたメールバックエンドのインスタンスを返します。<code class=\"docutils literal notranslate\"><span class=\"pre\">backend</span></code> 引数を指定した場合、そのバックエンドがインスタンス化されます。</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently</span></code> 引数は、バックエンドがエラーをどのように扱うかをコントロールします。<code class=\"docutils literal notranslate\"><span class=\"pre\">fail_silently</span></code> が True の場合、メール送信プロセスの間に発生した例外は何の通知もされずに無視されます。</p>\n<p>他の全ての引数は、メールバックエンドのコンストラクタに直接引き渡されます。</p>\n<p>Django には複数のメール送信バックエンドを付属しています。SMTP バックエンド (デフォルトです) を除いて、これらのバックエンドはテストと開発のみで役立ちます。特別なメール送信が必要な場合には、<a class=\"reference internal\" href=\"#topic-custom-email-backend\"><span class=\"std std-ref\">独自のメールバックエンドを記述する</span></a> を参照してください。</p>\n<section id=\"smtp-backend\">\n<span id=\"topic-email-smtp-backend\"></span><h4>SMTP バックエンド<a class=\"heading-anchor\" href=\"#smtp-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.mail.backends.smtp.EmailBackend\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">backends.smtp.</span></span><span class=\"sig-name descname\"><span class=\"pre\">EmailBackend</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">host</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">port</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">username</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">password</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">use_tls</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">fail_silently</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">use_ssl</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">timeout</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">ssl_keyfile</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">ssl_certfile</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.mail.backends.smtp.EmailBackend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>デフォルトのバックエンド。メールは SMTP サーバを通して送信されます。</p>\n<p>引数が <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> の場合、各引数に対する値は、以下のそれぞれの設定から取得されます。</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">port</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_PORT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_PORT</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">username</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_USER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_USER</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">password</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST_PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST_PASSWORD</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">use_tls</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_USE_TLS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_USE_TLS</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">use_ssl</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_USE_SSL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_USE_SSL</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">timeout</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_TIMEOUT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_TIMEOUT</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ssl_keyfile</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_SSL_KEYFILE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_SSL_KEYFILE</span></code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ssl_certfile</span></code>: <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_SSL_CERTFILE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_SSL_CERTFILE</span></code></a></p></li>\n</ul>\n<p>SMTP バックエンドは、Django によって継承されるデフォルトの構成です。明示的に指定したい場合は、設定内で以下の通り記述してください:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">EMAIL_BACKEND</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.core.mail.backends.smtp.EmailBackend&quot;</span>\n</code></pre></div>\n<p>指定しなかった場合は、デフォルトの <code class=\"docutils literal notranslate\"><span class=\"pre\">timeout</span></code> は <a class=\"reference external\" href=\"https://docs.python.org/3/library/socket.html#socket.getdefaulttimeout\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">socket.getdefaulttimeout()</span></code></a> によって指定されたものになり、デフォルトは <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> (タイムアウトなし) になります。</p>\n</dd></dl>\n\n</section>\n<section id=\"console-backend\">\n<span id=\"topic-email-console-backend\"></span><h4>コンソールバックエンド<a class=\"heading-anchor\" href=\"#console-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>実際のメールを送信する代わりに、コンソールバックエンドは単に標準出力に送信されるメールを書き込みます。 デフォルトでは、コンソールバックエンドは <code class=\"docutils literal notranslate\"><span class=\"pre\">stdout</span></code> に書き込みます。 コネクションを構築するときに <code class=\"docutils literal notranslate\"><span class=\"pre\">stream</span></code> キーワード引数を指定することで、別のストリーム的なオブジェクトを使用できます。</p>\n<p>このバックエンドを指定するには、設定内に以下の通り記述してください:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">EMAIL_BACKEND</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.core.mail.backends.console.EmailBackend&quot;</span>\n</code></pre></div>\n<p>このバックエンドはプロダクトでの使用を想定していません -- 開発中の利便性のために提供されています。</p>\n</section>\n<section id=\"file-backend\">\n<span id=\"topic-email-file-backend\"></span><h4>ファイルバックエンド<a class=\"heading-anchor\" href=\"#file-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>ファイルバックエンドは、メールをファイルに書き込みます。新しいファイルは、このバックエンド上で開いたそれぞれの新しいセッションに対して作成されます。ファイルが書き込まれるディレクトリは、 <a class=\"reference internal\" href=\"#django.core.mail.get_connection\" title=\"django.core.mail.get_connection\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_connection()</span></code></a> でコネクションを生成したときに <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_FILE_PATH\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_FILE_PATH</span></code></a> 設定または <code class=\"docutils literal notranslate\"><span class=\"pre\">file_path</span></code> キーワードから取得されます。</p>\n<p>このバックエンドを指定するには、設定内に以下の通り記述してください:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">EMAIL_BACKEND</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.core.mail.backends.filebased.EmailBackend&quot;</span>\n<span class=\"n\">EMAIL_FILE_PATH</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;/tmp/app-messages&quot;</span>  <span class=\"c1\"># change this to a proper location</span>\n</code></pre></div>\n<p>このバックエンドはプロダクトでの使用を想定していません -- 開発中の利便性のために提供されています。</p>\n</section>\n<section id=\"in-memory-backend\">\n<span id=\"topic-email-memory-backend\"></span><h4>インメモリーバックエンド<a class=\"heading-anchor\" href=\"#in-memory-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">'locmem'</span></code> バックエンドは、 <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail</span></code> モジュールの特別な属性内にメッセージを保持します。<code class=\"docutils literal notranslate\"><span class=\"pre\">outbox</span></code> 属性は最初のメッセージが送信されるときに生成されます。送信される書くメッセージに対する <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> インスタンスのリストです。</p>\n<p>このバックエンドを指定するには、設定内に以下の通り記述してください:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">EMAIL_BACKEND</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.core.mail.backends.locmem.EmailBackend&quot;</span>\n</code></pre></div>\n<p>このバックエンドはプロダクトでの使用を想定していません -- 開発とテストにおける利便性のために提供されています。</p>\n<p>Django のテストランナーは <a class=\"reference internal\" href=\"/ja/5.0/topics/testing/tools/#topics-testing-email\"><span class=\"std std-ref\">自動的にこのバックエンドをテストに使います</span></a> 。</p>\n</section>\n<section id=\"dummy-backend\">\n<span id=\"topic-email-dummy-backend\"></span><h4>ダミーバックエンド<a class=\"heading-anchor\" href=\"#dummy-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>名前が示すように、ダミーバックエンドはメッセージに何もしません。このバックエンドを指定するには、設定内に以下の通り記述してください:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"n\">EMAIL_BACKEND</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;django.core.mail.backends.dummy.EmailBackend&quot;</span>\n</code></pre></div>\n<p>このバックエンドはプロダクトでの使用を想定していません -- 開発中の利便性のために提供されています。</p>\n</section>\n</section>\n<section id=\"defining-a-custom-email-backend\">\n<span id=\"topic-custom-email-backend\"></span><h3>独自のメールバックエンドを定義する<a class=\"heading-anchor\" href=\"#defining-a-custom-email-backend\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>メール送信の方法を変更する必要がある場合、独自のメールバックエンドを記述できます。設定ファイル内の <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_BACKEND</span></code></a> 設定が独自のバックエンドのクラスへの Python のインポートパスとなります。</p>\n<p>独自のメールバックエンドは、<code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.mail.backends.base</span></code> にある <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseEmailBackend</span></code> をサブクラス化して作ります。独自のメールバックエンドには <code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages(email_messages)</span></code> メソッドを実装する必要があります。このメソッドは <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> インスタンスのリストを受け取り、送信に成功したメッセージの数を返します。バックエンドに永続的な (persistent) セッションやコネクションの概念がある場合は、<code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> メソッドと <code class=\"docutils literal notranslate\"><span class=\"pre\">close()</span></code> メソッドも実装する必要があります。実装のリファレンスについては <code class=\"docutils literal notranslate\"><span class=\"pre\">smtp.EmailBackend</span></code> を参照してください。</p>\n</section>\n<section id=\"sending-multiple-emails\">\n<span id=\"topics-sending-multiple-emails\"></span><h3>複数のメールを送信する<a class=\"heading-anchor\" href=\"#sending-multiple-emails\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>SMTP コネクション (またはその他のネットワークコネクション) の確立とクローズは、負荷の高い処理です。 送信するメールがたくさんある場合は、メールを送信するたびにコネクションの生成と破棄を繰り返すのではなく、SMTP コネクションを再利用する方が効率的です。</p>\n<p>メールバックエンドにコネクションを再利用するよう通知するには、2 つの方法があります。</p>\n<p>1つ目は、<code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages()</span></code> メソッドを使う方法です。<code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages()</span></code> は <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> インスタンス (ないしサブクラス) のリストを取得し、この全てを単一のコネクションを使って送信します。</p>\n<p>例えば、定期的なメール送信を表す <a class=\"reference internal\" href=\"#django.core.mail.EmailMessage\" title=\"django.core.mail.EmailMessage\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">EmailMessage</span></code></a> オブジェクトのリストを返す <code class=\"docutils literal notranslate\"><span class=\"pre\">get_notification_email()</span></code> と呼ばれる関数がある場合、send_messages を 1度呼び出すだけでこれらのメールを送信できます:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">mail</span>\n\n<span class=\"n\">connection</span> <span class=\"o\">=</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">get_connection</span><span class=\"p\">()</span>  <span class=\"c1\"># Use default email connection</span>\n<span class=\"n\">messages</span> <span class=\"o\">=</span> <span class=\"n\">get_notification_email</span><span class=\"p\">()</span>\n<span class=\"n\">connection</span><span class=\"o\">.</span><span class=\"n\">send_messages</span><span class=\"p\">(</span><span class=\"n\">messages</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>この例では、<code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages()</span></code> を呼び出してバックエンドのコネクションを開き、メッセージのリストを送信した後、再びコネクションを閉じています。</p>\n<p>2つ目のアプローチは、メールバックエンドの <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> メソッドと <code class=\"docutils literal notranslate\"><span class=\"pre\">close()</span></code> メソッドを使って手動でコネクションをコントロールする方法です。<code class=\"docutils literal notranslate\"><span class=\"pre\">send_messages()</span></code> は、すでにコネクションが開いている場合、自動でコネクションを開いたり閉じたりはしません。手動でコネクションを開いた場合、閉じるタイミングを自分でコントロールできます。たとえば、次のように書くことができます。</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">mail</span>\n\n<span class=\"n\">connection</span> <span class=\"o\">=</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">get_connection</span><span class=\"p\">()</span>\n\n<span class=\"c1\"># Manually open the connection</span>\n<span class=\"n\">connection</span><span class=\"o\">.</span><span class=\"n\">open</span><span class=\"p\">()</span>\n\n<span class=\"c1\"># Construct an email message that uses the connection</span>\n<span class=\"n\">email1</span> <span class=\"o\">=</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Body goes here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;to1@example.com&quot;</span><span class=\"p\">],</span>\n    <span class=\"n\">connection</span><span class=\"o\">=</span><span class=\"n\">connection</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n<span class=\"n\">email1</span><span class=\"o\">.</span><span class=\"n\">send</span><span class=\"p\">()</span>  <span class=\"c1\"># Send the email</span>\n\n<span class=\"c1\"># Construct two more messages</span>\n<span class=\"n\">email2</span> <span class=\"o\">=</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Body goes here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;to2@example.com&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">)</span>\n<span class=\"n\">email3</span> <span class=\"o\">=</span> <span class=\"n\">mail</span><span class=\"o\">.</span><span class=\"n\">EmailMessage</span><span class=\"p\">(</span>\n    <span class=\"s2\">&quot;Hello&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;Body goes here&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;from@example.com&quot;</span><span class=\"p\">,</span>\n    <span class=\"p\">[</span><span class=\"s2\">&quot;to3@example.com&quot;</span><span class=\"p\">],</span>\n<span class=\"p\">)</span>\n\n<span class=\"c1\"># Send the two emails in a single call -</span>\n<span class=\"n\">connection</span><span class=\"o\">.</span><span class=\"n\">send_messages</span><span class=\"p\">([</span><span class=\"n\">email2</span><span class=\"p\">,</span> <span class=\"n\">email3</span><span class=\"p\">])</span>\n<span class=\"c1\"># The connection was already open so send_messages() doesn&#39;t close it.</span>\n<span class=\"c1\"># We need to manually close the connection.</span>\n<span class=\"n\">connection</span><span class=\"o\">.</span><span class=\"n\">close</span><span class=\"p\">()</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"configuring-email-for-development\">\n<h2>開発用にメールを設定する<a class=\"heading-anchor\" href=\"#configuring-email-for-development\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django に電子メールをまったく送信させたくない場合もあるでしょう。たとえば、ウェブサイトの開発中に数千通のメールを送信したくはないでしょう。しかし、適切な条件で適切な人々にメールが送信され、これらのメールが正しい内容を含んでいるか検証したいことがあるかもしれません。</p>\n<p>ローカル開発用にメールを設定する最も簡単な方法は <a class=\"reference internal\" href=\"#topic-email-console-backend\"><span class=\"std std-ref\">console</span></a> メールバックエンドを使うことです。このバックエンドはすべてのメールを <code class=\"docutils literal notranslate\"><span class=\"pre\">stdout</span></code> にリダイレクトし、メールの内容を検査できるようにします。</p>\n<p><a class=\"reference internal\" href=\"#topic-email-file-backend\"><span class=\"std std-ref\">ファイル</span></a> メールバックエンドも開発に役立ちます。このバックエンドは全ての SMTP コネクションをファイルにダンプし、都合の良いときに調べられるようにします。</p>\n<p>もう 1 つのアプローチは、&quot;dumb&quot; SMTP サーバを使うことです。これは、メールをローカルで受け取りターミナルに表示しますが、実際には何も送信しません。 <a class=\"reference external\" href=\"https://aiosmtpd.readthedocs.io/en/latest/\">aiosmtpd</a> パッケージで、この方法を実現できます:</p>\n<div class=\"code-block\" data-language=\"shell\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Shell code\"><code>python<span class=\"w\"> </span>-m<span class=\"w\"> </span>pip<span class=\"w\"> </span>install<span class=\"w\"> </span>aiosmtpd\n\npython<span class=\"w\"> </span>-m<span class=\"w\"> </span>aiosmtpd<span class=\"w\"> </span>-n<span class=\"w\"> </span>-l<span class=\"w\"> </span>localhost:8025\n</code></pre></div>\n<p>このコマンドは、localhostのポート8025で待ち受ける最小限のSMTPサーバを起動します。このサーバはすべてのメールヘッダとメール本文を標準出力に出力します。あとは <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_HOST</span></code></a> と <a class=\"reference internal\" href=\"/ja/5.0/ref/settings/#std-setting-EMAIL_PORT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">EMAIL_PORT</span></code></a> を適宜設定するだけです。SMTPサーバのオプションについてのより詳細な議論については、 <a class=\"reference external\" href=\"https://aiosmtpd.readthedocs.io/en/latest/\">aiosmtpd</a> モジュールのドキュメントを参照してください。</p>\n<p>アプリケーションでのメール送信のユニットテストについては、テストのドキュメントの <a class=\"reference internal\" href=\"/ja/5.0/topics/testing/tools/#topics-testing-email\"><span class=\"std std-ref\">メールサービス</span></a> セクションを参照してください。</p>\n</section>","rootId":"module-django.core.mail","toc":[{"title":"簡単な例","anchor":"quick-example","children":[]},{"title":"send_mail()","anchor":"send-mail","children":[]},{"title":"send_mass_mail()","anchor":"send-mass-mail","children":[{"title":"send_mass_mail() と send_mail() の比較","anchor":"send-mass-mail-vs-send-mail","children":[]}]},{"title":"mail_admins()","anchor":"mail-admins","children":[]},{"title":"mail_managers()","anchor":"mail-managers","children":[]},{"title":"例","anchor":"examples","children":[]},{"title":"ヘッダインジェクションを防止する","anchor":"preventing-header-injection","children":[]},{"title":"EmailMessage クラス","anchor":"the-emailmessage-class","children":[{"title":"EmailMessage オブジェクト","anchor":"emailmessage-objects","children":[{"title":"代替のコンテンツタイプを送信する","anchor":"sending-alternative-content-types","children":[]}]}]},{"title":"メールのバックエンド","anchor":"email-backends","children":[{"title":"メールバックエンドのインスタンスを取得する","anchor":"obtaining-an-instance-of-an-email-backend","children":[{"title":"SMTP バックエンド","anchor":"smtp-backend","children":[]},{"title":"コンソールバックエンド","anchor":"console-backend","children":[]},{"title":"ファイルバックエンド","anchor":"file-backend","children":[]},{"title":"インメモリーバックエンド","anchor":"in-memory-backend","children":[]},{"title":"ダミーバックエンド","anchor":"dummy-backend","children":[]}]},{"title":"独自のメールバックエンドを定義する","anchor":"defining-a-custom-email-backend","children":[]},{"title":"複数のメールを送信する","anchor":"sending-multiple-emails","children":[]}]},{"title":"開発用にメールを設定する","anchor":"configuring-email-for-development","children":[]}],"breadcrumbs":[{"docname":"topics/index","title":"Django を使う","url":"/ja/5.0/topics/"}],"prev":{"docname":"topics/signing","title":"暗号署名","url":"/ja/5.0/topics/signing/"},"next":{"docname":"topics/i18n/index","title":"国際化とローカライズ","url":"/ja/5.0/topics/i18n/"},"formats":{"html":"/ja/5.0/topics/email/","markdown":"/ja/5.0/topics/email.md","json":"/ja/5.0/topics/email.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/topics/email.txt","official":"https://docs.djangoproject.com/ja/5.0/topics/email/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}