sendGrid: Ein leistungsstarkes Tool zum Konvertieren von E -Mails in Apps
sendGrid ist nicht nur ein Dienst, der E-Mails in Stapeln sendet, sondern auch eine weniger bekannte leistungsstarke Funktion: Bearbeitungsbearbeitung. Mit einer einfachen Konfiguration können Sie SendGrid alle E -Mails unter dem angegebenen Domänennamen verarbeiten und E -Mail -Nachrichten an Ihren Server senden. In diesem Artikel wird mit SendGrid eine Funktion "Mail an Artikel" erstellt.
Kernpunkte:
Anfänger:
Der Beispielcode in diesem Artikel basiert auf dem Slim Framework Framework. Für das einfache Debuggen fügen Sie bitte den folgenden Inhalt im Abschnitt hinzu: composer.json
require
"slim/extras": "dev-develop"
include/services.php
$app = new Slim(array( 'view' => new Twig(), 'templates.path' => $c['config']['path.templates'], 'log.writer' => new \Slim\Extras\Log\DateTimeFileWriter(array( 'path' => dirname($c['config']['path.logs']), 'name_format' => 'Y-m-d', 'message_format' => '%label% - %date% - %message%' )) ));
config/config.php
'path.logs' => $basedir . 'logs/', 'path.uploads' => $basedir . 'public/uploads/'
Unsere App bietet registrierten Benutzern einen E -Mail -Alias. Indem wir den Teil vor dem Symbol
in der E -Mail -Adresse des Empfängers übereinstimmen, können wir den Benutzer bestimmen, der ihn veröffentlicht hat. In praktischen Anwendungen müssen Sie möglicherweise komplexere Aliase -Regeln festlegen und E -Mail -Senden -Adressen einschränken. Die Datenbankstruktur definiert zwei Tabellen zum Speichern von Benutzern und Artikeln:
@
CREATE TABLE users ( id INTEGER NOT NULL AUTO_INCREMENT, name VARCHAR(128) NOT NULL , alias VARCHAR(45) NOT NULL , PRIMARY KEY (id) , INDEX alias (alias ASC) ); CREATE TABLE posts ( id INTEGER NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, body TEXT NOT NULL, image varchar(255), user_id INTEGER NOT NULL, PRIMARY KEY (id) );
Wenn SendGrid eine Nachricht mit dem angegebenen Domänennamen empfängt, sendet er eine Postanforderung an Ihre URL, einschließlich der Informationen zur Absender-, Empfänger-, E -Mail -Körper- und Anhangsinformationen. Schließlich müssen Sie Ihrem Domain -Namen einen MX -Datensatz hinzufügen, der auf
mx.sendgrid.net
Ihre Bewerbung muss auf die Postanforderung der von Ihnen angegebenen URL antworten, z. B.
"slim/extras": "dev-develop"
Wenn SendGrids "Ping" -Test einen 4xx- oder 5xx -Fehler zurückgibt, stellt er die Anforderung an und versucht erneut 3 Tage. Daher muss ein erfolgreicher Ping -Test einen 200 -Status -Code zurückgeben. Die Post -Anfrage von SendGrid enthält verschiedene Informationen zur E -Mail. Weitere Informationen finden Sie in der Dokumentation SendGrid API. Wir konzentrieren uns hauptsächlich auf die folgenden Felder:
Da die Feldformate to
vielfältig sind, brauchen wir regelmäßige Ausdrücke, um mehrere Empfänger analysieren:
$app = new Slim(array( 'view' => new Twig(), 'templates.path' => $c['config']['path.templates'], 'log.writer' => new \Slim\Extras\Log\DateTimeFileWriter(array( 'path' => dirname($c['config']['path.logs']), 'name_format' => 'Y-m-d', 'message_format' => '%label% - %date% - %message%' )) ));
für jeden Empfänger den Alias -Abschnitt extrahieren und den passenden Benutzer finden:
'path.logs' => $basedir . 'logs/', 'path.uploads' => $basedir . 'public/uploads/'
Erstellen Sie einen Artikel:
CREATE TABLE users ( id INTEGER NOT NULL AUTO_INCREMENT, name VARCHAR(128) NOT NULL , alias VARCHAR(45) NOT NULL , PRIMARY KEY (id) , INDEX alias (alias ASC) ); CREATE TABLE posts ( id INTEGER NOT NULL AUTO_INCREMENT, title VARCHAR(255) NOT NULL, body TEXT NOT NULL, image varchar(255), user_id INTEGER NOT NULL, PRIMARY KEY (id) );
Jetzt haben wir die Funktion "Basis -E -Mail an Artikel"! Als nächstes können wir die Anhangsverarbeitungsfunktion hinzufügen, damit Benutzer Bilder über E -Mail -Anhänge hinzufügen können. Die Postanforderung von SendGrid enthält den Parameter attachments
, der die Anzahl der Anhänge anzeigt. Die Anhänge werden zusammen mit Anfragen veröffentlicht, und die Verarbeitungsmethode entspricht dem Hochladen von Webformateien.
$app->post('/endpoints/email', function () use ($app, $c) {
Zusammenfassung:
In diesem Artikel wird eine einfache Anwendung der eingehenden E -Mail -Auflösungsfunktion von Sendgrid vorgestellt - die Funktion "Mail an Artikel", mit der Benutzer Artikel durch Senden von E -Mails erstellen können. Durch einfache Rückruffunktionen können Sie verschiedene interessante Funktionen implementieren, wie z.
(Der nachfolgende Inhalt, nämlich der FAQ -Teil, wird aufgrund der Länge des Artikels separat damit umgehen. Der FAQ -Teil kann als neue Frage getrennt eingereicht werden.)
Das obige ist der detaillierte Inhalt vonBehandeln Sie eingehende E -Mails mit SendGrid ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!