この記事について
WordPress on App Serviceはデフォルトで作成すればすぐにメール送信ができるようになっており大変便利ですが、カスタムドメインのメールアドレスに変更する場合は少し面倒です。
公式ドキュメントの手順通りにやれば問題ないのですが、慣れないと今何を設定しているのかがわからなくなります。
この記事ではメール設定の全体構造を説明します。全体構造を頭に入れて公式ドキュメントを読むとよく理解できるのではないかと思います。
初期の構成
WordPress on App Serviceのメール設定をわかりにくくしているのは、メールに関連するリソースが3つもあり、その関係性がわかりづらいところにあるかと思います。
そこで、まず初期設定が終わった段階でどのような構成になっているのかを下に示します。
メールに関連するリソースは、通信サービス・メール通信サービス・メール通信サービスドメインの3つです。
通信サービスはメールだけでなく、音声・ビデオ通話やSMSなども含めた通信サービスを提供するもので、メール通信サービスはその一機能になります。
メール通信サービスには複数のメール通信サービスドメインが追加でき、デフォルトでAzureのマネージドドメイン(azurecomm.netで終わるメールアドレス)が使えるようになっています。
WordPressが動いているApp Serviceでは、WP_EMAIL_CONNECTION_STRINGというパラメータに通信サービスのエンドポイントとアクセスキー、さらに送信メールアドレスが設定されています。
カスタムドメインの追加
カスタムドメインのメールアドレスを使えるようにするための最初のステップは、カスタムドメインを追加することです。
これはすなわち、メール通信サービスにカスタムドメインのメール通信サービスドメインを追加するということです。
検証作業がやや煩雑ですが、公式ドキュメント通りに進めれば大丈夫かと思います。
ドメインを通信サービスに接続
次のステップは、追加したメール通信サービスドメインを通信サービスに接続することです。
ここでのポイントは、通信サービスに接続できるメール通信サービスドメインは1つだけということです。つまり、既存のメール通信サービスドメインとの接続をいったん切断する必要があるということです。
そして、メール通信サービスと追加したメール通信サービスドメインを1セットにして通信サービスと接続します。
公式ドキュメントの手順はこちらです。
送信メールアドレスの変更
最後は、送信メールアドレスの変更です。
上のステップまででWordPressでメールを送信しようとするとエラーが発生します。
その原因は、App Service内の設定にあるsendaddressが追加したメール通信サービスドメインのMailFrom addressesとマッチしないためです。
App ServiceのWP_EMAIL_CONNECTION_STRINGを修正すればOKです。
まとめ
わかってしまえば何てことはないのですが、全体構造がわからないとエラーが出たときなどの対応に時間がとてもかかります。
こちらの記事が少しでもお役に立てば幸いです。