国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
メールホストユーザー
次に、16文字のアプリパスワードを使用してポップアップモーダルを提供します。 1回しか表示されないので、どこかに保存してください。
Django Environを使用して、電子メールバックエンド資格情報を保護します
前のセクションで作成した連絡先をインポートし、クラスベースのビュー
success.html:サクセスメッセージを表示します。
2。単體テスト
4。サードパーティの電子メールサービスの統(tǒng)合
おめでとう! Djangoで電子メールを送信する方法と、Djangoの連絡フォームを構(gòu)築する方法も學びました。
djangoでメールを送信する方法?
電子メールを送信するためにdjangoを構(gòu)成するには:
ホームページ テクノロジー周辺機器 IT業(yè)界 SMTPサーバーを使用してDjangoで電子メールを送信する方法

SMTPサーバーを使用してDjangoで電子メールを送信する方法

Feb 08, 2025 am 10:58 AM

SMTPサーバーを使用してDjangoで電子メールを送信する方法

Djangoプロジェクトでの電子メール統(tǒng)合のセットアップに苦労したことはありますか? SMTPの設定の構(gòu)成、セキュリティの懸念の処理、または連絡先フォームの自動化など、ユーザーのエンゲージメントと信頼には電子メール機能が重要です。 このチュートリアルでは、実用的なステップバイステップの指示でDjangoを使用して電子メールを送信する方法を説明します。 Django SMTP接続の構(gòu)成方法、メールプロバイダーのパスワードを設定する方法、Djangoシェルを介して電子メールを送信する方法について説明します。また、Djangoアプリの連絡フォームを設定する方法についても説明します。これにより、お客様がお客様に連絡できるようになります。

キーテイクアウト

SMTP設定の構(gòu)成:適切な電子メールバックエンド、ホスト、ポート、およびセキュリティ設定(TLSなど)を使用して設定.pyファイルを構(gòu)成して、djangoメール送信を設定します。

Django Environを使用した資格情報を保護する:django Environを使用して、環(huán)境変數(shù)を介してemail_host_userやemail_host_passwordなどの機密資格情報を管理し、ソースコードの資格情報のハードコードを防ぎます。
    アプリ固有のパスワードを生成する:Gmailを使用する場合、2段階の検証を有効にし、プライマリパスワードに依存する代わりにDjangoメール送信を安全に認証するアプリパスワードを作成します。 自動連絡先フォームの実裝:djangoフォームを使用して自動連絡先フォームを構(gòu)築し、ユーザーの問い合わせのシームレスな処理のために電子メールを送信する機能を統(tǒng)合します。 テスト電子メール機能:電子メールの継続ロジックをユニットテストで確認し、安全な開発テストのためにMailhogやConsole Eメールバックエンドなどのツールを使用します。
  • ベストプラクティスに従ってください:再利用性のためにTLS暗號化、適切な認証、およびモジュラー電子メール関數(shù)を使用して、安全で効率的な電子メール配信を確保します。
  • ほとんどのWebアプリケーションは、電子メールを使用して、パスワードのリセット、アカウントのアクティブ化、顧客フィードバックの受信、ニュースレターの送信、マーケティングキャンペーンなど、重要な操作を管理します。 Gmailはテストまたは小規(guī)模プロジェクトに機能しますが、制作WebサイトはAWS SES、SendGrid、Mailgunなどの専用の電子メールサービスを使用する必要があります。 ただし、専用の電子メールサービスを使用するコストと努力を比較する場合、個人用メールで電子メールを送信することは、小規(guī)模またはテストプロジェクトの方が合理的になる可能性があります。だから、ここでは物事をシンプルに保つためにそのアプローチを取ります。
  • :プロダクションWebサイトに個人のメールサービスを使用することは良い考えではありません。あなたは
  • Gmailの送信制限
  • の詳細を知ることができます。または、メールプロバイダーの制限を參照してください。

    注:このチュートリアルの完全なコードはGitHubで入手できます。

    SMTPサーバーと簡単なメール転送プロトコルの理解

    SMTP(またはSimple Mail転送プロトコル)は、送信者から受信者に電子メールがどのように転送されるかを判斷するための一連のルールです。 SMTPサーバーは、このプロトコルを使用して、送信メールを送信およびリレーします。 (他のプロトコルは、電子メールの受信方法を支配することに注意してください

    。) SMTPサーバーには常に一意のアドレスとメッセージを送信するための特定のポートがあります。これはほとんどの場合587です。Djangoメール送信でポートがどのように関連しているかを確認します。 この例では、GmailのSMTPサーバーを使用します

    アドレス:smtp.gmail.com

    ポート:587

    • さあ、Djangoでメールを送信する方法を見てみましょう。
    • djangoプロジェクトの作成
    • すべてのDjangoプロジェクトには、プロジェクトの依存関係を臺無しにしたくないため、仮想環(huán)境が必要です。 1つを作成するには、次のことを?qū)g行します

    注:仮想環(huán)境に慣れていない場合は、必ず

    python仮想環(huán)境ガイド

    。 上記のコマンドは、名前が付いた仮想環(huán)境を作成します。この仮想環(huán)境を有効にするには、次のことを使用できます。
    python <span>-m venv .venv</span>

    Djangoはサードパーティのパッケージなので、PIPでインストールする必要があります。 これにより、Djangoの最新バージョンがインストールされます。これは、PIPフリーズで確認できます。 djangoプロジェクトを作成するには、コマンドラインユーティリティdjango-adminを呼び出します: 上記のコマンドを使用すると、emailProjectという名前のDjangoプロジェクトを作成していますが、必要な名前でプロジェクトを作成できます。次に、プロジェクトディレクトリに入力してサーバーを?qū)g行します。

    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    djangoサーバーを?qū)g行した後、ブラウザのhttp:// localhost:8000にアクセスしてください。最新のDjangoリリースノートを備えた自動生成ページが表示されます。

    pip <span>install django</span>

    SMTPのDjango電子メールバックエンドの構(gòu)成

    メールバックエンドは、Djangoでメールを送信するメカニズムです。デフォルトでは、djangoはdjango.core.core.mail.backends.smtp.emailbackendを使用しています。これにより、SMTPサーバーに接続してメールを送信できます。環(huán)境(開発または生産)に応じて、ニーズに合わせて別の電子メールバックエンドを選択できます。

    メールを送信する前に設定ファイルを変更する必要があるため、以下のコマンドを使用してそのファイルを見つけましょう。
    django-admin startproject EmailProject

    注:簡単にするために、UNIX(MacOSまたはLinux)システムコマンドのみを使用します。

    python <span>-m venv .venv</span>

    ツリーコマンドは、ディレクトリのファイル構(gòu)造を出力します。この場合、特定のディレクトリパスを提供していないため、プロジェクトのルートフォルダーにある場合は、次のようなものを取得します。

    このチュートリアルを通じて常に変更するファイルは、emailProjectフォルダー內(nèi)のsettings.pyです。必要なすべてのプロジェクト構(gòu)成を保持し、カスタム変數(shù)を設定できます。 Django Docsが言うように、「設定ファイルはモジュールレベルの変數(shù)を備えたPythonモジュールです」。
    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    Djangoでメールを送信するために必要な設定を見てみましょう。 emailProject/settings.pyファイルを開き、ファイルの下部に次の設定を貼り付けます。

    これらの各設定を分析することにより、上記のコードを分析しましょう。

    メールバックエンド
    pip <span>install django</span>

    email_backend設定は、djangoプロジェクトがSMTPサーバーに接続するために使用するバックエンドを宣言します。

    この変數(shù)は、電子メールの送信に必要なすべてのパラメーターを受信するSMTP.EmailbackEndクラスを指しています。 Djangoソースコードのクラスコンストラクターを直接確認することを強くお勧めします。このコードがどれほど読みやすいかに驚くでしょう。

    注:このクラスはデフォルトのemail_backendですが、djangoの設定で明示的であることは良い習慣と考えられています。

    他のすべての電子メール設定は、この電子メールバックエンドクラスのコンストラクターに基づいています。

    メールホスト

    email_host設定とは、使用するSMTPサーバードメインを指します。これは、メールプロバイダーによって異なります。以下は、3つの一般的なプロバイダーに対応するSMTPサーバーホストのテーブルです。 電子メールプロバイダー

    smtpサーバーホスト

    gmailsmtp.gmail.comout/hotmailsmtp-mail.outlook.comyahoosmtp.mail.yahoo.com

    この設定は、後で.ENVファイルを使用して、ハードコーディングされた敏感なキーやサイトごとの構(gòu)成を避けるため、この設定を空白のままにしています。資格情報をコードに直接設定しないでください。この問題を解決するためにDjango Environを使用します

    電子メールポート

    ほとんどのSMTPサーバーのデフォルトポートであるため、email_port設定は587に設定する必要があります。これは、個人の電子メールプロバイダーには當てはまります。このポートは、TLS暗號化とともに使用され、電子メールの送信のセキュリティを確保します。 電子メールはtlsを使用します Transport Layer Security(TLS)は、Web全體で使用されるセキュリティプロトコルであり、Webアプリ(DJANGO)とサーバー(SMTPサーバー)間の通信を暗號化します。 元々、email_use_tls変數(shù)をtrueに設定します。これは、DjangoがTransport Layer Securityを使用してSMTPサーバーに接続してメールを送信することを意味します。 (個人の電子メールプロバイダーには必須です。)

    メールホストユーザー

    電子メール

    email_host_userの設定は、個人のメールアドレスです。 Django-Environを使用してこれらすべての資格情報をセットアップするため、今のところ空白のままにしておきます。

    ホストパスワードをメールで送信します

    email_host_passwordの設定は、電子メールアカウントから取得するアプリのパスワードです。このセクションの直後に行うプロセスです。同じストーリー:後で環(huán)境変數(shù)を使用するので、この設定を空白のままにしてください。

    他のプロバイダーの場合、それに応じて設定を調(diào)整できます。たとえば、

    Outlook構(gòu)成:

    yahoo設定:
    python <span>-m venv .venv</span>

    APPパスワードを使用してGmail SMTPサーバーを設定します
    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>

    「安全性の低いアプリ」はGoogleによって非推奨なので、電子メールを送信するためにGmailアカウントに接続する適切で安全な方法は、アプリのパスワードを使用することです。アプリのパスワードは、Googleアカウントの2段階の確認を有効にする場合にのみ使用できます。

    なぜアプリパスワードを使用するのですか?

    安全な代替品:プライマリパスワードを共有する代わりに、アプリのパスワードは特定のアプリケーションに限られたアクセスを提供します。
      ステップ1:2ステップ検証を有効にします
    1. Googleアカウントに移動:https://myaccount.google.com/。
    2. 左側(cè)のメニューのセキュリティに移動します。
    「Googleへのサインイン方法」セクションにスクロールします。

    「2ステップ検証」をクリックして、畫面上の指示に従ってください。

      電話番號または認証アプリを使用して、2段階の検証を設定します。
    1. デバイスに送信されたコードでセットアップを確認します。
      • ステップ2:アプリのパスワードを生成
      • 2段階検証が有効になったら、検索バーで「アプリパスワード」を検索します。
      そこで、アプリのパスワードの名前を入力して、[作成]をクリックします。
    SMTPサーバーを使用してDjangoで電子メールを送信する方法

    次に、16文字のアプリパスワードを使用してポップアップモーダルを提供します。 1回しか表示されないので、どこかに保存してください。

    1. 他の電子メールプロバイダーを使用している場合は、必ず次のガイドを読んでください。
    • yahooアプリのパスワード
    • Outlookまたはhotmailアプリのパスワード

    Django Environを使用して、電子メールバックエンド資格情報を保護します

    開発中に電子メールを送信している場合でも、ソースコードに直接パスワードを書き込むべきではありません。これは、GitHubと一緒にバージョン制御システムを使用してプロジェクトをホストする場合にさらに重要になります。 あなたは人々にあなたのデータにアクセスしてほしくありません django-environを使用してこれを防ぐ方法を見てみましょう。

    emailprojectディレクトリ內(nèi)に.envファイルを作成します(設定ファイルが配置されている場所)。

    さあ、それを.ENVファイルを開いて、次のキーと値のペアを入力してください:

    このファイルの內(nèi)容を分解します:
    python <span>-m venv .venv</span>

    email_host:メールプロバイダーのSMTPサーバーアドレス。迅速なガイダンスについては、上記のメールホストテーブルを參照してください。この場合、smtp.gmail.com、Gmail SMTPアドレスを使用しています。
    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    email_host_user:メールアドレス。

    email_host_password:生成したアプリパスワード。スペースが含まれていないことを念頭に置いてください
      Reciontient_Address:メッセージを受信するメールアドレス。これは、すべてのメールを同じ受信者に送信するために後で作成するカスタム設定です。
    • これらの環(huán)境変數(shù)を利用するには、django-environ:
    • をインストールする必要があります。
    • 注:仮想環(huán)境がアクティブ化されていることを確認してください
    • さあ、emailProjectディレクトリにあるsettings.pyを開き、以下のコードを使用します。
    最初に、設定ファイルの上部に環(huán)境パッケージをインポートします。すべての輸入品が最初にあるはずであることを忘れないでください。次に、.envで使用可能なすべてのキーと値のペアを含むENV変數(shù)を作成します。

    env(「キー」)ステートメントは、そのキーの価値を調(diào)べていることを意味します。先に進む前に、.envファイルを設定していることを確認してください。それ以外の場合、環(huán)境変數(shù)が設定されていない場合は、Django ImproperlyConfiguredエラーが表示されます。

    pip <span>install django</span>
    注:reciontient_addressは、アクセスできるアドレスにメールを送信するために使用するカスタム設定です。

    GitとGithubを使用している場合は、.gitignoreに.envファイルを含めることを忘れないでください。これを開いて、次の行を追加するだけでこれを行うことができます。 1。 djangoシェルでメールを送信します

    最後に、私たちは記事のジューシーな部分に到達します!最初のメールをDjangoに送信する時が來ました

    端末を開き、仮想環(huán)境をアクティブにして実行します。
    django-admin startproject EmailProject

    これにより、すでに設定されているすべてのdjango設定を備えたシェルが作成されます。その真新しいシェル內(nèi)で、次のコードを貼り付けます

    引數(shù)を指定せずにワンライナーを作成することもできます。

    python <span>-m venv .venv</span>

    上記のコードを分解しましょう:

    • django send_mail関數(shù)をインポートします。
    • 次に、すべてのグローバル設定とサイトごとの設定(settings.pyファイル內(nèi)の設定)を含む設定オブジェクトをインポートします。
    • 最後に、必要なすべての引數(shù)をsend_mail関數(shù)に渡します。この関數(shù)は、送信された電子メールの數(shù)、この場合は1を返します。
    • [設定]オブジェクトを使用して、from_email(メールを送信しているメール)とreciontient_list(.envで定義したレシピエント_addressカスタム設定)を取得する方法に注意してください。
    • 今、受信トレイをチェックした場合 - Reciontient_Address環(huán)境変數(shù)をメールアドレスに設定すると、Djangoから送信された電子メールメッセージが表示されます。

    非同期電子メール送信

    Django 4.xでは、パフォーマンスを改善するために非同期電子メールの送信がサポートされています。これは、交通量の多いWebサイトや大量の電子メールを送信するときに役立ちます。
    非同期にメールを送信する方法は次のとおりです SMTPサーバーを使用してDjangoで電子メールを送信する方法
    非同期電子メールの送信は、次のようなシナリオで役立ちます

    電子メールを送信する場合の非ブロッキング操作は、ユーザーリクエストを遅らせないでください。

    バルクメールの送信(生産規(guī)模のタスクにはセロリのようなタスクキューを使用してください)。

    注:djangoは非同期電子メールをサポートしていますが、生産規(guī)模のバルクメールでは、真の非ブロッキング操作にはセロリやdjango-Qなどのバックグラウンドタスクキューを使用します。

    2。 django
    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    で自動接觸フォームを構(gòu)築します このセクションでは、Djangoフォームと組み込みのsend_mail関數(shù)を備えた自動接觸フォームを構(gòu)築します。また、連絡先フォーム內(nèi)のカスタム関數(shù)を作成して、ビューで実裝しやすくなります。

    連絡先アプリを作成することから始めましょう。 Project Root Directory(manage.pyが配置されている場所)を入力し、実行してください。

      次に、emailProject/settings.pyファイル內(nèi)にインストールされた_APPS変數(shù)にインストールしてください:
    • 連絡先アプリを進める前に、emailProject/urls.pyファイル內(nèi)のurlpatternsを構(gòu)成しましょう。これを行うには、django.urls.include関數(shù)をインポートし、プロジェクト全體に連絡先URLを含めます。心配しないで;連絡先のURLを後で設定します:

    フォームに連絡します

    連絡先アプリフォルダーを入力し、forms.pyファイルを作成します。 Forms.pyファイル內(nèi)のすべてのフォームを定義することは良い習慣ですが、必須ではありません。そのため、Djangoはデフォルトでこのファイルを含めません。次のコマンドを使用してフォームファイルを作成できます。

    作成したばかりのファイルを開き、次のインポートを作成します。

    python <span>-m venv .venv</span>

    Jangoフォームモジュールは、連絡先フォームを作成するために必要なすべてのクラスとフィールドを提供します。もう一度、設定オブジェクトとsend_mail関數(shù)をインポートして、電子メールを送信します。

    連絡先フォームにはいくつかのフィールドが含まれ、2つのカスタムメソッドを使用します:get_info()は、ユーザーが提供する情報をフォーマットし、電子メールメッセージを送信する()send()を送信します。これがコードで実裝されていることを見てみましょう:

    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    このクラスは巨大なので、各部分で私たちがしていることを分解しましょう。まず、電子メールメッセージを送信するために必要な4つのフィールドを定義します。

    名前と問い合わせは、連絡先メッセージの名前と理由を表すCharfieldsです。
      電子メールは、あなたに連絡しようとしている人の電子メールアドレスを表す電子メールフィールドです。電子メールはユーザーのメールアドレスによって送信されるのではなく、Djangoプロジェクトでメールを送信するために設定したメールアドレスによって送信されることに注意してください。
    • メッセージは別のチャーフィールドです。ただし、Textareaウィジェットを使用しています。これは、フォームを表示するときに、単純な。
    • カスタムメソッドに向かって、get_infoメソッドのみを使用してユーザーの情報をフォーマットし、2つの変數(shù)を返します。これは、照會フィールドに他なりません。 。
    • 一方、send()メソッドは、get_infoからフォーマットされた情報のみを取得し、send_mail関數(shù)でメッセージを送信します。このセクションはかなり大きかったですが、すべての送信ロジックを連絡先自體に実裝することにより、連絡先ビューをどのように簡素化したかがわかります。
    • noctive views
    連絡先/views.pyファイルを開き、次のインポートを追加します:

    ご覧のとおり、Django Generic Viewsを使用します。これにより、簡単なタスクを作成するときに大幅に節(jié)約できます。たとえば、フォームビューでフォームを設定したり、テンプレートのみをレンダリングするビューを作成したりする場合です。 templateView。

    また、

    前のセクションで作成した連絡先をインポートし、クラスベースのビュー

    を使用して作業(yè)するときに使用されるreverse_lazy関數(shù)をインポートしています。ビューを続けて、連絡先を書いてみましょう:

    pip <span>install django</span>
    ご覧のとおり、作成した連絡先を使用して簡単なフォームビューを構(gòu)築しています。 Template_nameとsuccess_urlも設定しています。 HTMLテンプレートを書き、後でURLをセットアップします。 フォーム有効なメソッドフォームのすべてのフィールドが有効である場合にのみ、contactform.send()メソッドを使用して電子メールを送信してみましょう。これは、ユーザーがフォーマットされていない電子メールアドレスなどの無効な入力を入力した場合、メッセージが送信されないことを意味します。

    上記のform_validメソッドの実裝は、関數(shù)ベースのビューで以下と同等です。

    python <span>-m venv .venv</span>
    このセクションを終了すると、ContactSucessViewを作成します。これは、ユーザーに成功メッセージを表示します。既にTemplateViewクラスをインポートしているため、Template_Name屬性を継承して定義する必要があります。

    githubリポジトリのviews.pyファイルをチェックすることができます。
    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    urls

    に連絡します

    今度は、連絡先アプリのURLパターンを作成する時が來ました。 djangoはデフォルトでurls.pyファイルを提供していないため、次のコマンドで作成する必要があります(連絡先アプリフォルダー內(nèi)にあることを確認してください)

    そのファイルを開き、app_nameとurlpatterns変數(shù)をセットアップします:

    pip <span>install django</span>

    パスを使用して、アプリのURL構(gòu)成に対するルートとその特派員ビューを含めます。 app_name変數(shù)を「連絡先」に設定すると、アプリのurl

    namespacing
    django-admin startproject EmailProject
    が次のようになります。

    注:名前空間は、djangoテンプレートとビューで動的にURLと呼ばれるものです。

    公式文書でDjango URLディスパッチャの詳細については、
    <span>cd EmailProject
    </span>python manage.py runserver
    テンプレートの書き込み

    djangoテンプレートは、djangoテンプレート言語で提供されるHTMLと特別なタグを使用して、データを動的に表示するための好ましい方法です。 この特定のアプリでは、3つのテンプレートを使用します

    base.html:他のすべてのテンプレートはそこから継承されます。すべてのテンプレートに必要なHTMLスケルトンと、Bootstrapへのリンクが含まれます。

    contact.html:連絡先フォームが表示されます。

    success.html:サクセスメッセージを表示します。

    連絡先のアプリテンプレート構(gòu)造を作成することから始めましょう(連絡先アプリフォルダー內(nèi)にいることを確認してください):

    上記のコマンドは、再利用可能なdjangoアプリの典型的なテンプレート構(gòu)造(AppName/Templates/AppName)と、前に述べたツリーテンプレートファイルを作成します。これがアプリファイル構(gòu)造のように見えるべきものです:
    • base.htmlテンプレートのコンテンツにジャンプしましょう
    • ご覧のとおり、Bootstrap 5へのリンクを含むHTMLファイルのシンプルなスケルトンです。これにより、CSSファイルを使用せずに連絡先アプリをスタイライズできます。 {%block of-block%}タグを使用すると、「子テンプレート」が利用するプレースホルダーを設定できます。このタグを使用すると、テンプレート継承は簡単な作業(yè)になります。 フォームに向かう前に、Django Surispy Formsパッケージをインストールする必要があります。これにより、簡単に様式化できます。
    • もう一度、cospy_formsはdjangoアプリであり、installed_appsリストに含める必要があります:
    • ブートストラップフォームのクラスは4番目と5番目のバージョンの間に互換性があるため、
    ブートストラップ4のテンプレートパックを使用します。

    さあ、contact.htmlテンプレートで作業(yè)しましょう

    python <span>-m venv .venv</span>
    ベーステンプレートを拡張し、ブロックプレースホルダーを使用する方法に注意してください。これが、Djangoテンプレート言語を非常に効率的にしている理由です。これにより、多くのHTMLコピーと貼り付けを保存できるためです。 フォームについて話すと、メソッド「post」を使用しています。つまり、連絡先はユーザーが指定したデータを処理し、フォームが有効な場合は電子メールを送信します。 {%CSRF_TOKEN%}は、セキュリティ上の理由により、あらゆる形式で必須です。 Djangoのドキュメントには、CSRFトークンに関する専用ページがあり、フォームを使用するときに使用する理由があります。

    サクサクしたテンプレートタグでフォームをレンダリングします。そのため、{%Load crispy_forms_tags%}を{%load chaspy_forms_tags%でサクサピータグにロードしました。

    最後に、success.htmlテンプレートを書きましょう:

    ご覧のとおり、ユーザーが別のメッセージを送信したい場合に備えて、連絡先フォームへのリンクを備えた単純な成功の発表です。

    サーバーをもう一度実行して、http:// localhost:8000にアクセスしましょう(.venvがアクティブ化されていることを確認し、プロジェクトルートフォルダー內(nèi)にあります):

    <span># CMD
    </span>.venv<span>\Scripts\activate
    </span>
    <span># Power Shell
    </span>.venv<span>\Scripts\Activate.ps1
    </span>
    <span># WSL
    </span><span>source .venv/bin/activate</span>
    下の畫像は、最終的な連絡先フォームがどのように見えるかを示しています。

    そして、これは成功メッセージの畫像です。
    pip <span>install django</span>

    SMTPサーバーを使用してDjangoで電子メールを送信する方法そして、これが受信トレイの電子メールの畫像です。

    SMTPサーバーを使用してDjangoで電子メールを送信する方法
    に従うためのベストプラクティス

    1。再利用可能な電子メール送信機能

    電子メールを送信するロジックをモジュラーにして再利用できるようにするには、電子メールの送信機能をヘルパー関數(shù)に移動できます。 SMTPサーバーを使用してDjangoで電子メールを送信する方法
    連絡先フォームを含むメールを送信する必要がある場合はどこでもこの関數(shù)を呼び出すことができます。

    2。単體テスト

    django.testを使用してメールを送信することができます。

    3。豊富なHTML電子メールの送信

    django-admin startproject EmailProject
    HTMLメールは、より良いデザインとプレゼンテーションを提供します。 Djangoのテンプレートエンジンを使用して、リッチな電子メールコンテンツを作成します:

    4。サードパーティの電子メールサービスの統(tǒng)合

    生産対応のアプリケーションについては、SendGrid、Mailgun、AWS SESなどのサードパーティサービスの使用を検討してください。これらのサービスは、電子メール分析、配信追跡、スパムフィルタリングなどの高度な機能を提供します。

    <span>cd EmailProject
    </span>python manage.py runserver
    5。ユーザー登録の電子メール

    スパムアカウントを防ぐために、ユーザー登録中に電子メール検証リンクを送信してください。

    ラッピング
    tree

    おめでとう! Djangoで電子メールを送信する方法と、Djangoの連絡フォームを構(gòu)築する方法も學びました。

    djangoでメールを送信する方法はたくさんあります。このチュートリアルでは、個人のメールアドレスで作成しましたが、他のツールを探索し、プロジェクトに統(tǒng)合してほしいです。 このチュートリアルでは、以下について説明しました

    メールを提供するためにdjango設定をセットアップする方法

      個人のメールアカウントを使用して小さなプロジェクトでメールを送信する方法
    • djangoプロジェクトで機密データを使用するための.envファイルの使用方法
    • 自動化された連絡先フォームを構(gòu)築する方法
    • Djangoの詳細については、「Djangoを使用して寫真共有アプリを構(gòu)築する」をご覧ください。 Django上の
    djangoからメールを送信できますか?

    はい、Djangoは、電子メールの送信を簡単にする組み込みの電子メールセンディングフレームワークを提供します。 settings.pyファイルにSMTP設定を設定することにより、send_mail関數(shù)または電子メールメッジクラスを使用して電子メールを送信できます。

    djangoでメールを送信する方法?

    電子メールを送信するためにdjangoを構(gòu)成するには:

    settings.pyファイルでsmtpの詳細を設定します:email_backend = 'django.core.backends.smtp.emailbackend' email_host = 'mtp.gmail.com' email_port = 587 email_use_tls = true email_host_user = 'your_email@emplem .com 'email_host_password =' your_app_password '

    Gmailまたは同様のプロバイダーを使用している場合は、メインのメールパスワードの代わりに安全なパスワードを使用してください。

    生産については、SendGrid、Mailgun、Amazon SESなどのサードパーティサービスを使用することを検討してください。

    djangoでOutlookメールを送信する方法?
    • DjangoでOutlookメールを送信するには、OutlookのSMTP設定を使用してDjangoの電子メール送信機能を使用できます。 djangoプロジェクトのsettings.pyファイルで、OutlookのSMTP設定を構(gòu)成します。これらの設定により、DjangoはOutlook SMTPサーバーに接続してメールを送信できます。
    • djangoでメールを受信する方法?
    • djangoプロジェクトのsettings.pyでは、著信電子メールサーバーの設定を構(gòu)成します。通常、メールプロバイダーのIMAP(インターネットメッセージアクセスプロトコル)サーバーの詳細と認証資格情報が必要です。次に、iMaplibライブラリを使用してメールサーバーに接続し、メールを取得します。これをDjangoビューまたはカスタム管理コマンドで実行できます。メールを取得したら、それを処理し、情報を抽出し、Djangoアプリケーション內(nèi)で必要なアクションを?qū)g行できます。これには、電子メールコンテンツの解析、データベースに関連するデータの保存、または電子メールのコンテンツまたは送信者に基づいて特定のアクションのトリガーが含まれます。
    • 実際のメールを送信せずにDjangoで電子メールの送信をテストするにはどうすればよいですか?開発中に、オプションの電子メールバックエンドを使用して、実際のSMTPサーバーに接続せずに電子メールをテストできます。例:電子メールバックエンドのコンソール:電子メールメッセージを送信する代わりに端末に印刷します。
      python <span>-m venv .venv</span>
      より高度なテストについては、テストメールをキャプチャして表示するための偽のSMTPサーバーとして機能するMailhogやMailTrapなどのツールを使用してください。

      敏感な電子メール資格情報を安全に管理するにはどうすればよいですか?

      django環(huán)境を使用して、.envファイルから敏感な資格情報(電子メールホスト、ユーザー名、パスワードなど)をロードします。

      django環(huán)境のインストール:ピップインストールdjango-environ

以上がSMTPサーバーを使用してDjangoで電子メールを送信する方法の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Udemyのようなプラットフォームへの開発者のショートカット Udemyのようなプラットフォームへの開発者のショートカット Jun 17, 2025 pm 04:43 PM

Udemyと同様の學習プラットフォームを開発する場合、コンテンツの品質(zhì)だけに焦點を當てるだけではありません。同様に重要なのは、そのコンテンツがどのように配信されるかです。これは、最新の教育プラットフォームがアクセスしやすく、速く、消化しやすいメディアに依存しているためです。

SSL証明書を購入するための費用対効果の高い再販業(yè)者プラットフォーム SSL証明書を購入するための費用対効果の高い再販業(yè)者プラットフォーム Jun 25, 2025 am 08:28 AM

オンラインの信頼が交渉不可能な世界では、SSL証明書がすべてのWebサイトに不可欠になっています。 SSL認定の市場規(guī)模は2024年に56億米ドルと評価されており、電子商取引事業(yè)の急増により促進されていることで、まだ強く成長しています。

SaaSの5つの最高の支払いゲートウェイ:究極のガイド SaaSの5つの最高の支払いゲートウェイ:究極のガイド Jun 29, 2025 am 08:28 AM

支払いゲートウェイは、支払いプロセスの重要な要素であり、企業(yè)がオンラインで支払いを受け入れることができます。顧客と商人の間の橋渡しとして機能し、支払い情報を安全に譲渡し、取引を促進します。 のために

ハリケーンとサンドストームは、新しいMicrosoftAIモデルのおかげで5,000倍速く予測できます ハリケーンとサンドストームは、新しいMicrosoftAIモデルのおかげで5,000倍速く予測できます Jul 05, 2025 am 12:44 AM

新しい人工知能(AI)モデルは、最も広く使用されているグローバル予測システムのいくつかよりも迅速かつより正確に主要な気象現(xiàn)象を予測する能力を?qū)g証しています。

新しい研究は、私たちよりも感情を「理解している」と主張しています&mdash;特に感情的に充電された狀況で 新しい研究は、私たちよりも感情を「理解している」と主張しています&mdash;特に感情的に充電された狀況で Jul 03, 2025 pm 05:48 PM

人間が常に機械を上回ると信じていたドメインのさらに別のset折のように見えるもので、研究者は現(xiàn)在、AIが私たちよりも感情をよりよく理解することを提案しています。

デバイスはAIアシスタントに供給し、眠っている場合でも個人データを収穫します。共有するものを知る方法は次のとおりです。 デバイスはAIアシスタントに供給し、眠っている場合でも個人データを収穫します。共有するものを知る方法は次のとおりです。 Jul 05, 2025 am 01:12 AM

好むと好まざるとにかかわらず、人工知能は日常生活の一部になりました。電気カミソリや歯ブラシを含む多くのデバイスがAIを搭載しています?!笝C械學習アルゴリズムを使用して、人がデバイスの使用方法、DEVIの使用方法を追跡する

すべてをAIにアウトソーシングすると、自分自身のために考える能力がかかりますか? すべてをAIにアウトソーシングすると、自分自身のために考える能力がかかりますか? Jul 03, 2025 pm 05:47 PM

人工知能(AI)は、人間の脳をシミュレートするための探求として始まりました。今では、日常生活における人間の脳の役割を変える過程にありますか?産業(yè)革命は肉體労働への依存を減らしました。アプリケートを研究する人として

高度なAIモデルは、最大50倍以上のCO&#8322を生成します。同じ質(zhì)問に答えるときの一般的なLLMよりも排出量 高度なAIモデルは、最大50倍以上のCO&#8322を生成します。同じ質(zhì)問に答えるときの一般的なLLMよりも排出量 Jul 06, 2025 am 12:37 AM

最近の調(diào)査によると、AIモデルの機能を正確に機能させようとすると、炭素排出量が大きくなります。

See all articles