SendGrid in Python
Die Dachorganisation von SendGrid
(einer Kundenkommunikationsplattform für Transaktions- und Marketing-E-Mails) ist Twilio
.
Hauptsächlich besteht die Aufgabe darin, E-Mails in dynamischer Form zu versenden. Dies minimiert tendenziell die Komplexität und den Zeitaufwand.
Zunächst müssen wir die persönlichen Daten für die Anmeldung einrichten, und dann erhalten Sie ein Dashboard mit mehreren Funktionen (nachdem Ihr Konto per E-Mail verifiziert wurde). Sie können ganz einfach E-Mails versenden, indem Sie zum Abschnitt Marketing
und dann zum Abschnitt Absender
gehen.
Die beste Erfahrung wird nur erzielt, wenn Sie ein Zwei-Faktor-authentifiziertes Konto haben. Andernfalls durchläuft Ihr Konto eine Überprüfungsphase, die viel Zeit in Anspruch nehmen kann.
Im nächsten Abschnitt zeigen wir die Schritte zur Handhabung der Details zur Kontoerstellung auf. Befolgen Sie die Schritte nacheinander.
-
Gehen Sie zu
SendGrid
. -
Erstelle deinen Account.
-
Sie müssen die
Zwei-Faktor-Authentifizierung
aktivieren. -
Sobald ein Konto erstellt und verifiziert wurde, gehen Sie zur Registerkarte
Einstellungen
im linken Navigationsbereich. -
Wählen Sie im Dropdown-Menü die Option
API-Schlüssel
. -
Klicken Sie auf die Registerkarte
API-Schlüssel erstellen
, um einen geheimenAPI-Schlüssel
für Ihre App zu erstellen. -
Legen Sie einen
API-Schlüsselnamen
fest. -
Wählen Sie
Vollzugriff
aus den Optionsfeldern. -
Klicken Sie zuletzt auf
Erstellen und anzeigen
.
Stellen Sie sicher, dass Sie den API-Schlüssel an einem sicheren Ort gespeichert haben. Technisch gesehen wird es explizit einmal angezeigt.
Im nächsten Teil richten Sie die Absender-E-Mail ein.
-
Navigieren Sie zu
Marketing
und klicken Sie dann aufAbsender
. -
Klicken Sie oben rechts auf der Seite
Absenderverwaltung
aufNeuen Absender erstellen
. -
Füllen Sie alle Felder auf der Seite aus und klicken Sie anschliessend auf
Speichern
.
Möglicherweise wird eine Bestätigungsmail an die Mail gesendet, um die von Ihnen als Absender hinzugefügte Mail zu sichern.
Zur Authentifizierung können Sie Ihre Kontaktnummer verwenden. Wenn Sie auf Probleme stoßen, können Sie Google Authy
herunterladen und die Kontaktnummer verwenden, die Sie in Authy
verwenden werden.
Dieser passive Prozess könnte Sie retten.
Wenn Sie jedoch in dieser Phase eine E-Mail senden, muss der Absender die E-Mail jedes Mal überprüfen, um sie zu bestätigen. Der folgende Codierungsabschnitt zeigt, wie wir den API-Schlüssel verwenden können, um E-Mails an mehrere Empfänger zu senden.
Verwenden Sie den SendGrid
-API-Schlüssel, um mehrere E-Mails zu senden
Zunächst müssen wir einen Projektordner auf unserem lokalen Computer erstellen. Außerdem werden wir eine virtuelle Python-Umgebung initiieren.
Sie müssen das Terminal/cmd in diesem Ordner öffnen, um es zu erstellen. Geben Sie die folgenden Befehle ein.
python -m venv YourFolderName
cd YourFolderName
In diesem Ordner erstellen wir eine Skriptdatei (von uns verwendeter Ordnername: sendgrid
). Wir haben main.py
als unsere Skriptdatei erstellt. Als nächstes werden wir die Abhängigkeiten installieren.
Zuvor muss die virtuelle Umgebung aktiviert werden. Also öffnen wir im Ordner sendgrid
das Terminal und folgen den Befehlen.
Scripts\activate
pip install sendgrid
pip install python-dotenv
Erstellen Sie nun eine .env
-Datei (die Datei zum Speichern der Umgebungsvariablen). Und dort behalten wir den folgenden Codeabschnitt.
export API_KEY=YOUR_SENDGRID_API_KEY
Hier behalten wir in der Variable API_KEY
den zuvor gespeicherten API-Schlüssel von der SendGrid
-Website. Als nächstes gehen wir zum Codierungsabschnitt.
Code-Auszug:
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)
Der dotenv
importiert den API-Schlüssel als Wörterbuch, und nach dem Aufruf sehen wir das Update bei jeder Übertragung im Website-Dashboard. Wir haben mehrere E-Mails auf einmal verschickt.
Die Ausgabe zeigt die Vorschau, die wir im SendGrid
-Dashboard und Aktivitäts-Feed haben werden.
Ausgang: