SendGrid:電子メールをアプリに変換するための強力なツール
SendGridは、バッチでメールを送信するサービスであるだけでなく、あまり知られていない強力な機能を提供します。 Simple Configurationを使用すると、指定されたドメイン名の下のすべての電子メールをSendGrid処理して、サーバーに電子メールメッセージを送信できます。この記事では、sendgridを使用して「記事へのメール」関数を構築する方法を紹介します。
コアポイント:
初心者:
この記事のサンプルコードは、スリムフレームワークフレームワークに基づいています。簡単にデバッグするには、次のコンテンツをセクションに追加してください。
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/'
sendgridアカウントが必要です(無料アカウントで十分です)。登録後、[開発者]ページに移動し、[着信電子メールを分析する]をクリックします。ホスト名とコールバックURLを入力します。
@
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) );
コールバック関数をビルド:
あなたのアプリケーションは、あなたが指定したURLのPOST要求に応答する必要があります。
"slim/extras": "dev-develop"
sendgridの「ping」テストが4xxまたは5xxエラーを返した場合、リクエストをキープして3日間再試行します。したがって、成功したPINGテストでは、200のステータスコードを返す必要があります。 SendGridの投稿リクエストには、メールに関するさまざまな情報が含まれています。詳細については、SendGrid APIドキュメントを参照してください。主に次のフィールドに焦点を当てています:
to
フィールド形式は多様であるため、複数の受信者を解析するために正規表現が必要です。
$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%' )) ));
'path.logs' => $basedir . 'logs/', 'path.uploads' => $basedir . 'public/uploads/'
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) );
パラメーターが含まれており、添付ファイルの数を示します。添付ファイルはリクエストと一緒に投稿され、処理方法はWebフォームファイルのアップロードと同じです。 attachments
$app->post('/endpoints/email', function () use ($app, $c) {
概要: この記事では、SendGridのインバウンド電子メール解像度関数の簡単なアプリケーションである「記事へのメール」機能を紹介します。これにより、ユーザーは電子メールを送信して記事を作成できます。簡単なコールバック関数を使用すると、メールの到着リマインダー、クラウドストレージへの添付ファイルのアップロード、電子メール返信フォーラム通知、登録解除リクエストなど、さまざまな興味深い関数を実装できます。
(後続のコンテンツ、すなわちFAQパーツは、記事の長さのために個別に処理することをお勧めします。FAQパーツは、新しい質問として個別に提出できます。)以上がsendgridで入ってくるメールを処理しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。