Python での SendGrid
SendGrid
(トランザクションおよびマーケティング電子メールの顧客コミュニケーション プラットフォーム) の親組織は Twilio
です。
主なタスクは、動的なフォームでメールを送信することです。 これにより、複雑さと時間の消費が最小限に抑えられます。
最初に、サインインするための個人情報を設定する必要があります。その後、複数の機能を備えたダッシュボードが表示されます (アカウントが電子メールで確認された後)。 Marketing
セクションに移動してから Sender
セクションに移動すると、簡単にメールを送信できます。
最高のエクスペリエンスは、2 要素認証されたアカウントを持っている場合にのみ達成されます。 そうしないと、アカウントが審査段階に入り、時間がかかる可能性があります。
次のセクションでは、アカウント作成の詳細を処理する手順について説明します。 手順を 1つずつ実行します。
-
SendGrid
に移動します。 -
アカウントを作成。
-
二要素認証
を有効にする必要があります。 -
アカウントの作成と確認が完了したら、左側のナビゲーション パネルの [設定] タブに移動します。
-
ドロップダウン メニューから
API キー
オプションを選択します。 -
API キーの作成
タブをクリックして、アプリの秘密のAPI キー
を作成します。 -
API キー名
を設定します。 -
ラジオボタンから
フルアクセス
を選択します。 -
最後に、
作成して表示
をクリックします。
API キーが安全な場所に保存されていることを確認してください。 技術的には、一度だけ明示的に表示されます。
次の部分では、送信者の電子メールを設定します。
-
マーケティング
に移動し、送信者
をクリックします。 -
Sender Management
ページの右上隅にあるCreate New Sender
をクリックします。 -
ページのすべてのフィールドに入力し、[保存] をクリックします。
送信者として追加したメールを保護するために、メールに確認メールが送信される場合があります。
認証には、連絡先番号を使用できます。 問題が発生した場合は、Google Authy
をダウンロードして、Authy
で使用する連絡先番号を使用できます。
この受動的なプロセスがあなたを救うかもしれません。
ただし、この段階でメールを送信すると、送信者は確認のために毎回メールをチェックする必要があります。 次のコーディング セクションでは、API キーを使用して複数の受信者にメールを送信する方法を示します。
SendGrid
API キーを使用して複数のメールを送信する
最初に、ローカル コンピューターにプロジェクト フォルダーを作成する必要があります。 また、Python 仮想環境を開始します。
それを作成するには、そのフォルダー内の terminal/cmd を開く必要があります。 次のコマンドを入力します。
python -m venv YourFolderName
cd YourFolderName
このフォルダーにスクリプト ファイルを作成します (使用したフォルダー名: sendgrid
)。 スクリプト ファイルとして main.py
を作成しました。 次に、依存関係をインストールします。
その前に、仮想環境を有効にする必要があります。 そのため、sendgrid
フォルダーで、ターミナルを開き、コマンドをフォローアップします。
Scripts\activate
pip install sendgrid
pip install python-dotenv
.env
ファイル (環境変数を保存するファイル) を作成します。 そこで、次のコードを保持します。
export API_KEY=YOUR_SENDGRID_API_KEY
ここで、API_KEY
変数には、SendGrid
Web サイトから以前に保存した API キーを保持します。 次に、コーディングセクションに進みます。
コードスニペット:
import os
import dotenv
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail, Email, To, Content
dotenv.load_dotenv()
sgc = SendGridAPIClient(api_key=os.environ.get("API_KEY"))
from_email = Email("sender@example.com") # Change to your verified sender
# Change to your recipient
to_email = [To("receiver1@example.com"), To("receiver2@example.com")]
subject = "Sending with SendGrid is Fun"
content = Content("text/plain", "and easy to do anywhere, even with Python")
mail = Mail(from_email, to_email, subject, content, is_multiple=True)
# is_multiple is used to specify that the mail has multiple recipients
# Get a JSON-ready representation of the Mail object
mail_json = mail.get()
# Send an HTTP POST request to /mail/send
try:
response = sgc.client.mail.send.post(request_body=mail_json)
print(response.status_code)
print(response.headers)
except Exception as e:
print(e)
dotenv
は API キーを辞書としてインポートし、それを呼び出した後、送信ごとに Web サイトのダッシュボードに更新が表示されます。 一度に複数のメールを送信しました。
出力には、SendGrid
ダッシュボードとアクティビティ フィードに表示されるプレビューが表示されます。
出力: