SMTPサーバーを使用してDjangoで電子メールを送信する方法
Djangoプロジェクトでの電子メール統合のセットアップに苦労したことはありますか? SMTPの設定の構成、セキュリティの懸念の処理、または連絡先フォームの自動化など、ユーザーのエンゲージメントと信頼には電子メール機能が重要です。 このチュートリアルでは、実用的なステップバイステップの指示でDjangoを使用して電子メールを送信する方法を説明します。 Django SMTP接続の構成方法、メールプロバイダーのパスワードを設定する方法、Djangoシェルを介して電子メールを送信する方法について説明します。また、Djangoアプリの連絡フォームを設定する方法についても説明します。これにより、お客様がお客様に連絡できるようになります。
キーテイクアウト
SMTP設定の構成:適切な電子メールバックエンド、ホスト、ポート、およびセキュリティ設定(TLSなど)を使用して設定.pyファイルを構成して、djangoメール送信を設定します。
Django Environを使用した資格情報を保護する:django Environを使用して、環境変数を介してemail_host_userやemail_host_passwordなどの機密資格情報を管理し、ソースコードの資格情報のハードコードを防ぎます。- アプリ固有のパスワードを生成する:Gmailを使用する場合、2段階の検証を有効にし、プライマリパスワードに依存する代わりにDjangoメール送信を安全に認証するアプリパスワードを作成します。
- ベストプラクティスに従ってください:再利用性のためにTLS暗号化、適切な認証、およびモジュラー電子メール関数を使用して、安全で効率的な電子メール配信を確保します。
- ほとんどのWebアプリケーションは、電子メールを使用して、パスワードのリセット、アカウントのアクティブ化、顧客フィードバックの受信、ニュースレターの送信、マーケティングキャンペーンなど、重要な操作を管理します。 Gmailはテストまたは小規模プロジェクトに機能しますが、制作WebサイトはAWS SES、SendGrid、Mailgunなどの専用の電子メールサービスを使用する必要があります。 ただし、専用の電子メールサービスを使用するコストと努力を比較する場合、個人用メールで電子メールを送信することは、小規模またはテストプロジェクトの方が合理的になる可能性があります。だから、ここでは物事をシンプルに保つためにそのアプローチを取ります。
- 注
- :プロダクションWebサイトに個人のメールサービスを使用することは良い考えではありません。あなたは
- Gmailの送信制限
- の詳細を知ることができます。または、メールプロバイダーの制限を参照してください。
注:このチュートリアルの完全なコードはGitHubで入手できます。
SMTPサーバーと簡単なメール転送プロトコルの理解。) SMTPサーバーには常に一意のアドレスとメッセージを送信するための特定のポートがあります。これはほとんどの場合587です。Djangoメール送信でポートがどのように関連しているかを確認します。 この例では、GmailのSMTPサーバーを使用します
アドレス:smtp.gmail.com
ポート:587
- さあ、Djangoでメールを送信する方法を見てみましょう。 djangoプロジェクトの作成
- すべてのDjangoプロジェクトには、プロジェクトの依存関係を台無しにしたくないため、仮想環境が必要です。 1つを作成するには、次のことを実行します
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーDjangoはサードパーティのパッケージなので、PIPでインストールする必要があります。 これにより、Djangoの最新バージョンがインストールされます。これは、PIPフリーズで確認できます。 djangoプロジェクトを作成するには、コマンドラインユーティリティdjango-adminを呼び出します: 上記のコマンドを使用すると、emailProjectという名前のDjangoプロジェクトを作成していますが、必要な名前でプロジェクトを作成できます。次に、プロジェクトディレクトリに入力してサーバーを実行します。
djangoサーバーを実行した後、ブラウザのhttp:// localhost:8000にアクセスしてください。最新の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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーpip <span>install django</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーSMTPのDjango電子メールバックエンドの構成
メールバックエンドは、Djangoでメールを送信するメカニズムです。デフォルトでは、djangoはdjango.core.core.mail.backends.smtp.emailbackendを使用しています。これにより、SMTPサーバーに接続してメールを送信できます。環境(開発または生産)に応じて、ニーズに合わせて別の電子メールバックエンドを選択できます。
メールを送信する前に設定ファイルを変更する必要があるため、以下のコマンドを使用してそのファイルを見つけましょう。django-admin startproject EmailProject
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー注:簡単にするために、UNIX(MacOSまたはLinux)システムコマンドのみを使用します。
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーツリーコマンドは、ディレクトリのファイル構造を出力します。この場合、特定のディレクトリパスを提供していないため、プロジェクトのルートフォルダーにある場合は、次のようなものを取得します。
このチュートリアルを通じて常に変更するファイルは、emailProjectフォルダー内のsettings.pyです。必要なすべてのプロジェクト構成を保持し、カスタム変数を設定できます。 Django Docsが言うように、「設定ファイルはモジュールレベルの変数を備えたPythonモジュールです」。Djangoでメールを送信するために必要な設定を見てみましょう。 emailProject/settings.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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーpip <span>install django</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーemail_backend設定は、djangoプロジェクトがSMTPサーバーに接続するために使用するバックエンドを宣言します。
この変数は、電子メールの送信に必要なすべてのパラメーターを受信するSMTP.EmailbackEndクラスを指しています。 Djangoソースコードのクラスコンストラクターを直接確認することを強くお勧めします。このコードがどれほど読みやすいかに驚くでしょう。注:このクラスはデフォルトのemail_backendですが、djangoの設定で明示的であることは良い習慣と考えられています。
他のすべての電子メール設定は、この電子メールバックエンドクラスのコンストラクターに基づいています。メールホスト
email_host設定とは、使用するSMTPサーバードメインを指します。これは、メールプロバイダーによって異なります。以下は、3つの一般的なプロバイダーに対応するSMTPサーバーホストのテーブルです。 電子メールプロバイダー
smtpサーバーホスト
gmailsmtp.gmail.comout/hotmailsmtp-mail.outlook.comyahoosmtp.mail.yahoo.com電子メールポート
ほとんどのSMTPサーバーのデフォルトポートであるため、email_port設定は587に設定する必要があります。これは、個人の電子メールプロバイダーには当てはまります。このポートは、TLS暗号化とともに使用され、電子メールの送信のセキュリティを確保します。 電子メールはtls を使用しますTransport Layer Security(TLS)は、Web全体で使用されるセキュリティプロトコルであり、Webアプリ(DJANGO)とサーバー(SMTPサーバー)間の通信を暗号化します。 元々、email_use_tls変数をtrueに設定します。これは、DjangoがTransport Layer Securityを使用してSMTPサーバーに接続してメールを送信することを意味します。 (個人の電子メールプロバイダーには必須です。)メールホストユーザー
電子メールemail_host_userの設定は、個人のメールアドレスです。 Django-Environを使用してこれらすべての資格情報をセットアップするため、今のところ空白のままにしておきます。
ホストパスワードをメールで送信します他のプロバイダーの場合、それに応じて設定を調整できます。たとえば、
Outlook構成:
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー<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ステップ検証を有効にします
- Googleアカウントに移動:https://myaccount.google.com/。
- 左側のメニューのセキュリティに移動します。
「2ステップ検証」をクリックして、画面上の指示に従ってください。
- 電話番号または認証アプリを使用して、2段階の検証を設定します。
- デバイスに送信されたコードでセットアップを確認します。
-
- ステップ2:アプリのパスワードを生成
- 2段階検証が有効になったら、検索バーで「アプリパスワード」を検索します。
次に、16文字のアプリパスワードを使用してポップアップモーダルを提供します。 1回しか表示されないので、どこかに保存してください。
- 他の電子メールプロバイダーを使用している場合は、必ず次のガイドを読んでください。
- yahooアプリのパスワード
- Outlookまたはhotmailアプリのパスワード
Django Environを使用して、電子メールバックエンド資格情報を保護します
開発中に電子メールを送信している場合でも、ソースコードに直接パスワードを書き込むべきではありません。これは、GitHubと一緒にバージョン制御システムを使用してプロジェクトをホストする場合にさらに重要になります。 あなたは人々にあなたのデータにアクセスしてほしくありません django-environを使用してこれを防ぐ方法を見てみましょう。
emailprojectディレクトリ内に.envファイルを作成します(設定ファイルが配置されている場所)。python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーemail_host_user:メールアドレス。<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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー- Reciontient_Address:メッセージを受信するメールアドレス。これは、すべてのメールを同じ受信者に送信するために後で作成するカスタム設定です。
- これらの環境変数を利用するには、django-environ:
- をインストールする必要があります。
- 注:仮想環境がアクティブ化されていることを確認してください
- さあ、emailProjectディレクトリにあるsettings.pyを開き、以下のコードを使用します。
env(「キー」)ステートメントは、そのキーの価値を調べていることを意味します。先に進む前に、.envファイルを設定していることを確認してください。それ以外の場合、環境変数が設定されていない場合は、Django ImproperlyConfiguredエラーが表示されます。
注:reciontient_addressは、アクセスできるアドレスにメールを送信するために使用するカスタム設定です。pip <span>install django</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーGitとGithubを使用している場合は、.gitignoreに.envファイルを含めることを忘れないでください。これを開いて、次の行を追加するだけでこれを行うことができます。 1。 djangoシェルでメールを送信します
最後に、私たちは記事のジューシーな部分に到達します!最初のメールをDjangoに送信する時が来ました
端末を開き、仮想環境をアクティブにして実行します。django-admin startproject EmailProject
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーこれにより、すでに設定されているすべてのdjango設定を備えたシェルが作成されます。その真新しいシェル内で、次のコードを貼り付けます
引数を指定せずにワンライナーを作成することもできます。
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー上記のコードを分解しましょう:
- django send_mail関数をインポートします。 次に、すべてのグローバル設定とサイトごとの設定(settings.pyファイル内の設定)を含む設定オブジェクトをインポートします。
- 最後に、必要なすべての引数をsend_mail関数に渡します。この関数は、送信された電子メールの数、この場合は1を返します。
- [設定]オブジェクトを使用して、from_email(メールを送信しているメール)とreciontient_list(.envで定義したレシピエント_addressカスタム設定)を取得する方法に注意してください。 今、受信トレイをチェックした場合 - Reciontient_Address環境変数をメールアドレスに設定すると、Djangoから送信された電子メールメッセージが表示されます。
非同期電子メール送信
Django 4.xでは、パフォーマンスを改善するために非同期電子メールの送信がサポートされています。これは、交通量の多いWebサイトや大量の電子メールを送信するときに役立ちます。非同期にメールを送信する方法は次のとおりです 非同期電子メールの送信は、次のようなシナリオで役立ちますバルクメールの送信(生産規模のタスクにはセロリのようなタスクキューを使用してください)。
注:djangoは非同期電子メールをサポートしていますが、生産規模のバルクメールでは、真の非ブロッキング操作にはセロリやdjango-Qなどのバックグラウンドタスクキューを使用します。
2。 djangoで自動接触フォームを構築します このセクションでは、Djangoフォームと組み込みのsend_mail関数を備えた自動接触フォームを構築します。また、連絡先フォーム内のカスタム関数を作成して、ビューで実装しやすくなります。<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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー連絡先アプリを作成することから始めましょう。 Project Root Directory(manage.pyが配置されている場所)を入力し、実行してください。
- 次に、emailProject/settings.pyファイル内にインストールされた_APPS変数にインストールしてください:
- 連絡先アプリを進める前に、emailProject/urls.pyファイル内のurlpatternsを構成しましょう。これを行うには、django.urls.include関数をインポートし、プロジェクト全体に連絡先URLを含めます。心配しないで;連絡先のURLを後で設定します:
フォームに連絡します
連絡先アプリフォルダーを入力し、forms.pyファイルを作成します。 Forms.pyファイル内のすべてのフォームを定義することは良い習慣ですが、必須ではありません。そのため、Djangoはデフォルトでこのファイルを含めません。次のコマンドを使用してフォームファイルを作成できます。
作成したばかりのファイルを開き、次のインポートを作成します。
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーJangoフォームモジュールは、連絡先フォームを作成するために必要なすべてのクラスとフィールドを提供します。もう一度、設定オブジェクトとsend_mail関数をインポートして、電子メールを送信します。
連絡先フォームにはいくつかのフィールドが含まれ、2つのカスタムメソッドを使用します:get_info()は、ユーザーが提供する情報をフォーマットし、電子メールメッセージを送信する()send()を送信します。これがコードで実装されていることを見てみましょう:このクラスは巨大なので、各部分で私たちがしていることを分解しましょう。まず、電子メールメッセージを送信するために必要な4つのフィールドを定義します。<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プロジェクトでメールを送信するために設定したメールアドレスによって送信されることに注意してください。
- メッセージは別のチャーフィールドです。ただし、Textareaウィジェットを使用しています。これは、フォームを表示するときに、単純な
。 - カスタムメソッドに向かって、get_infoメソッドのみを使用してユーザーの情報をフォーマットし、2つの変数を返します。これは、照会フィールドに他なりません。 。 一方、send()メソッドは、get_infoからフォーマットされた情報のみを取得し、send_mail関数でメッセージを送信します。このセクションはかなり大きかったですが、すべての送信ロジックを連絡先自体に実装することにより、連絡先ビューをどのように簡素化したかがわかります。
- noctive views
ご覧のとおり、Django Generic Viewsを使用します。これにより、簡単なタスクを作成するときに大幅に節約できます。たとえば、フォームビューでフォームを設定したり、テンプレートのみをレンダリングするビューを作成したりする場合です。 templateView。
また、前のセクションで作成した連絡先をインポートし、クラスベースのビュー
を使用して作業するときに使用されるreverse_lazy関数をインポートしています。ビューを続けて、連絡先を書いてみましょう:ご覧のとおり、作成した連絡先を使用して簡単なフォームビューを構築しています。 Template_nameとsuccess_urlも設定しています。 HTMLテンプレートを書き、後でURLをセットアップします。 フォーム有効なメソッドフォームのすべてのフィールドが有効である場合にのみ、contactform.send()メソッドを使用して電子メールを送信してみましょう。これは、ユーザーがフォーマットされていない電子メールアドレスなどの無効な入力を入力した場合、メッセージが送信されないことを意味します。pip <span>install django</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー上記のform_validメソッドの実装は、関数ベースのビューで以下と同等です。
このセクションを終了すると、ContactSucessViewを作成します。これは、ユーザーに成功メッセージを表示します。既にTemplateViewクラスをインポートしているため、Template_Name属性を継承して定義する必要があります。python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーurls<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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーに連絡します
今度は、連絡先アプリのURLパターンを作成する時が来ました。 djangoはデフォルトでurls.pyファイルを提供していないため、次のコマンドで作成する必要があります(連絡先アプリフォルダー内にあることを確認してください)そのファイルを開き、app_nameとurlpatterns変数をセットアップします:
pip <span>install django</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーパスを使用して、アプリのURL構成に対するルートとその特派員ビューを含めます。 app_name変数を「連絡先」に設定すると、アプリの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:サクセスメッセージを表示します。
- base.htmlテンプレートのコンテンツにジャンプしましょう
- ご覧のとおり、Bootstrap 5へのリンクを含むHTMLファイルのシンプルなスケルトンです。これにより、CSSファイルを使用せずに連絡先アプリをスタイライズできます。 {%block of-block%}タグを使用すると、「子テンプレート」が利用するプレースホルダーを設定できます。このタグを使用すると、テンプレート継承は簡単な作業になります。 フォームに向かう前に、Django Surispy Formsパッケージをインストールする必要があります。これにより、簡単に様式化できます。 もう一度、cospy_formsはdjangoアプリであり、installed_appsリストに含める必要があります:
- ブートストラップフォームのクラスは4番目と5番目のバージョンの間に互換性があるため、
さあ、contact.htmlテンプレートで作業しましょう
ベーステンプレートを拡張し、ブロックプレースホルダーを使用する方法に注意してください。これが、Djangoテンプレート言語を非常に効率的にしている理由です。これにより、多くのHTMLコピーと貼り付けを保存できるためです。 フォームについて話すと、メソッド「post」を使用しています。つまり、連絡先はユーザーが指定したデータを処理し、フォームが有効な場合は電子メールを送信します。 {%CSRF_TOKEN%}は、セキュリティ上の理由により、あらゆる形式で必須です。 Djangoのドキュメントには、CSRFトークンに関する専用ページがあり、フォームを使用するときに使用する理由があります。python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーサクサクしたテンプレートタグでフォームをレンダリングします。そのため、{%Load crispy_forms_tags%}を{%load chaspy_forms_tags%でサクサピータグにロードしました。
最後に、success.htmlテンプレートを書きましょう:ご覧のとおり、ユーザーが別のメッセージを送信したい場合に備えて、連絡先フォームへのリンクを備えた単純な成功の発表です。
サーバーをもう一度実行して、http:// localhost:8000にアクセスしましょう(.venvがアクティブ化されていることを確認し、プロジェクトルートフォルダー内にあります):下の画像は、最終的な連絡先フォームがどのように見えるかを示しています。<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>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーそして、これが受信トレイの電子メールの画像です。
1。再利用可能な電子メール送信機能
電子メールを送信するロジックをモジュラーにして再利用できるようにするには、電子メールの送信機能をヘルパー関数に移動できます。 連絡先フォームを含むメールを送信する必要がある場合はどこでもこの関数を呼び出すことができます。2。単体テスト
django.testを使用してメールを送信することができます。
3。豊富なHTML電子メールの送信
HTMLメールは、より良いデザインとプレゼンテーションを提供します。 Djangoのテンプレートエンジンを使用して、リッチな電子メールコンテンツを作成します:django-admin startproject EmailProject
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー4。サードパーティの電子メールサービスの統合
生産対応のアプリケーションについては、SendGrid、Mailgun、AWS SESなどのサードパーティサービスの使用を検討してください。これらのサービスは、電子メール分析、配信追跡、スパムフィルタリングなどの高度な機能を提供します。
5。ユーザー登録の電子メール<span>cd EmailProject </span>python manage.py runserver
ログイン後にコピーログイン後にコピーtree
ログイン後にコピーおめでとう! Djangoで電子メールを送信する方法と、Djangoの連絡フォームを構築する方法も学びました。
djangoでメールを送信する方法はたくさんあります。このチュートリアルでは、個人のメールアドレスで作成しましたが、他のツールを探索し、プロジェクトに統合してほしいです。 このチュートリアルでは、以下について説明しました
メールを提供するためにdjango設定をセットアップする方法
- 個人のメールアカウントを使用して小さなプロジェクトでメールを送信する方法
- djangoプロジェクトで機密データを使用するための.envファイルの使用方法
- 自動化された連絡先フォームを構築する方法
- Djangoの詳細については、「Djangoを使用して写真共有アプリを構築する」をご覧ください。
Django上の
djangoでメールを送信する方法?
電子メールを送信するためにdjangoを構成するには:
Gmailまたは同様のプロバイダーを使用している場合は、メインのメールパスワードの代わりに安全なパスワードを使用してください。
生産については、SendGrid、Mailgun、Amazon SESなどのサードパーティサービスを使用することを検討してください。- DjangoでOutlookメールを送信するには、OutlookのSMTP設定を使用してDjangoの電子メール送信機能を使用できます。 djangoプロジェクトのsettings.pyファイルで、OutlookのSMTP設定を構成します。これらの設定により、DjangoはOutlook SMTPサーバーに接続してメールを送信できます。 djangoでメールを受信する方法?
- djangoプロジェクトのsettings.pyでは、着信電子メールサーバーの設定を構成します。通常、メールプロバイダーのIMAP(インターネットメッセージアクセスプロトコル)サーバーの詳細と認証資格情報が必要です。次に、iMaplibライブラリを使用してメールサーバーに接続し、メールを取得します。これをDjangoビューまたはカスタム管理コマンドで実行できます。メールを取得したら、それを処理し、情報を抽出し、Djangoアプリケーション内で必要なアクションを実行できます。これには、電子メールコンテンツの解析、データベースに関連するデータの保存、または電子メールのコンテンツまたは送信者に基づいて特定のアクションのトリガーが含まれます。
- 実際のメールを送信せずにDjangoで電子メールの送信をテストするにはどうすればよいですか?開発中に、オプションの電子メールバックエンドを使用して、実際のSMTPサーバーに接続せずに電子メールをテストできます。例:電子メールバックエンドのコンソール:電子メールメッセージを送信する代わりに端末に印刷します。より高度なテストについては、テストメールをキャプチャして表示するための偽のSMTPサーバーとして機能するMailhogやMailTrapなどのツールを使用してください。
python <span>-m venv .venv</span>
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー敏感な電子メール資格情報を安全に管理するにはどうすればよいですか?
django環境を使用して、.envファイルから敏感な資格情報(電子メールホスト、ユーザー名、パスワードなど)をロードします。
django環境のインストール:ピップインストールdjango-environ
以上がSMTPサーバーを使用してDjangoで電子メールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

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

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

ホットトピック











このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください
