PHPでメールを送信するための方法をまとめました。
メリット・デメリットなども解説しておりますので、ぜひ参考にしてください。
[方法1]非同期アクションを利用してメール送信
メール通知用のDBにAPIでデータ登録を行い、非同期アクションでメール送信する方法です。
メール送信自体はトリガ設定を利用しています。
送信したいメール内容に合わせてDBには特定のフィールドを含めてください
→ 送信先メールアドレスが固定でない場合は、メールアドレスフィールドを含めてください
→ テキストエリアフィールドを含めることでAPIで登録した文言をメール文面に挿入できます
・DBに登録時非同期アクションを設定する
・メールを送信したいタイミングでAPIでレコード登録する
→ スケジュールトリガのカスタムプログラムには、実行ログの保存やメール通知機能はございません
・外部サービスからAPI経由でver.2のメール通知機能を利用したい場合
→ 一括登録・更新では非同期トリガは動作しないためご注意ください
・API経由で登録/更新/削除を行う際に通知メールを送りたい場合
・DBの登録データを送信履歴として活用できる
・メール送信の度にDBレコード登録があるため、定期的にデータ削除を行うなどのメンテナンスが必要になる
メール送信自体はトリガ設定を利用しています。
設定方法
・メール通知用のDBを作成する送信したいメール内容に合わせてDBには特定のフィールドを含めてください
→ 送信先メールアドレスが固定でない場合は、メールアドレスフィールドを含めてください
→ テキストエリアフィールドを含めることでAPIで登録した文言をメール文面に挿入できます
・DBに登録時非同期アクションを設定する
・メールを送信したいタイミングでAPIでレコード登録する
APIレコード登録メソッドのサンプルは以下の記事を参照ください
→ APIメソッドごとのサンプルコードまとめ Record / Record (bulk)
→ APIメソッドごとのサンプルコードまとめ Record / Record (bulk)
向いている利用シーン
・削除バッチなどカスタムプログラムでPHPの実行履歴を残しながら、エラー時にメール通知を行うする場合→ スケジュールトリガのカスタムプログラムには、実行ログの保存やメール通知機能はございません
・外部サービスからAPI経由でver.2のメール通知機能を利用したい場合
→ 一括登録・更新では非同期トリガは動作しないためご注意ください
・API経由で登録/更新/削除を行う際に通知メールを送りたい場合
メリット
・トリガでメールを送信するためPHPが分からなくてもメール設定修正ができる・DBの登録データを送信履歴として活用できる
デメリット
・トリガがレコード一括登録に対応していないため、一斉配信には向いていない・メール送信の度にDBレコード登録があるため、定期的にデータ削除を行うなどのメンテナンスが必要になる
[方法2]APIのEXPRESSメソッドでメール送信
APIのEXPRESSメソッドを利用することによって、メールを送信する方法です。
EXPRESSメールは基本的に複数人への一斉配信を行うものですが、設定によって個人に対して送信することも可能です。
送信先メールアドレスを格納するメールアドレスフィールドを必ず含めてください
・メールを送信したいタイミングでAPIでメール送信を行う
・会員登録時に、会員全員に会員が追加されたことを通知したい場合
→ メールアクションでは、複数レコードへの配信や他DBへの配信はできません
・お知らせ掲載時に関連する企業にカスタムプログラムで通知メールを配信する場合
→ アプリ側でお知らせ登録した際に通知する場合、カスタムプログラムを使用する必要があります
※カスタムプログラムを使用する場合は、お知らせ情報をAPIで取得して条件に合わせてEXPRESSメソッドを実行してください
・APIで直接配信予約を行うためレコードストレージを圧迫しない
・複数人への一斉送信などを行うことができる
EXPRESSメールは基本的に複数人への一斉配信を行うものですが、設定によって個人に対して送信することも可能です。
設定方法
・メール送信先のデータを格納したDBを作成する送信先メールアドレスを格納するメールアドレスフィールドを必ず含めてください
・メールを送信したいタイミングでAPIでメール送信を行う
API EXPRESSメソッドのサンプルは以下の記事を参照ください
→ APIメソッドごとのサンプルコードまとめ Express Email
→ APIメソッドごとのサンプルコードまとめ Express Email
向いている利用シーン
・お問い合わせ登録された際に、部署DBに入っている部署に通知メールを配信する場合・会員登録時に、会員全員に会員が追加されたことを通知したい場合
→ メールアクションでは、複数レコードへの配信や他DBへの配信はできません
・お知らせ掲載時に関連する企業にカスタムプログラムで通知メールを配信する場合
→ アプリ側でお知らせ登録した際に通知する場合、カスタムプログラムを使用する必要があります
※カスタムプログラムを使用する場合は、お知らせ情報をAPIで取得して条件に合わせてEXPRESSメソッドを実行してください
メリット
・メール送信設定がPHPのみで完結できる・APIで直接配信予約を行うためレコードストレージを圧迫しない
・複数人への一斉送信などを行うことができる
デメリット
・APIでメールを送信するため、メール設定の変更したい場合にPHPの修正が必要になる最後に
用途に合わせて送信方法を選んでください。
こちらの記事に関して要望などありましたら、下記の「コンテンツに関しての要望はこちら」からご連絡ください。
こちらの記事に関して要望などありましたら、下記の「コンテンツに関しての要望はこちら」からご連絡ください。