こんにちは、今日も今日とて仮想サーバーを遊ばせてる粕谷です。
現在メインのwebサイトはフルコードでデザイン・運用していますが、最近はサブドメインでWordpressを使ったサイト制作にハマっています。
そんな中、「問い合わせページ」を作りたいなと思いました。
フルコードではjavaとgmailのアプリパスワードを組み合わせて問い合わせ機能を実施しています。
なので、これをWordpress環境でも再現してみたいなと思ったわけです。
先に結論からいいますと、『WPForms Lite』と『WP Mail SMTP』のプラグインの組み合わせでできました。
本日はその軌跡までを紹介したいと思います。
Contact Form 7 でやってみた(失敗ルート)
最初に最もWordpressの問い合わせ機能の王道といわれる『Contact Form 7』で試してみました。
このプラグインの仕組はシンプルで、フォーム定義をもとにHTMLを生成し、送信時にサーバー側でメール処理を行う構成になっています。
さすがWordpressというわけで、ショートコードベースでページに埋め込め、視覚的埋め込みが非常に容易です。
だが、、エラーが起こる、、、
具体的な設定方法は他でいくつも紹介されているのでここでは省きますが、教科書通りにやってみると、

[メッセージの送信に失敗しました。後でまたお試しください。]
なぜなのか?と調べてみると、『Contact Form 7』の設定画面で送信元が「wordpress@mitsurugi-group.com」になっていました。

そりゃあ、@mitsurugi-group.comってメールアドレスが存在しないのでエラーになるのは当然です。

これを「gmail.com」に変えようとすると上記画像のようなエラーが、、、
レンタルサーバならホスティング業者からセットでドメインメールを買えば解決ですが、VPSとなると、一からちゃんとしたメールサーバを作るのは現実的でない。かといってgamilでもエラーを出させないようにすることが無理そうなので『Contact Form 7』は諦めました。
WPForms Lite でやってみた(成功ルート)
上と同様に教科書通りにやったところ、『Contact Form 7』と異なり、ドメインメールの縛りがない!これはいけそうだと思いました。
次に『WP Mail SMTP』をインストールし、gmailでもメールが送れるよう設定を行います。
その際、指定のgmail(Googleアカウント)のアプリパスワードが必要なので、認証設定をして、「https://myaccount.google.com/apppasswords」で16桁のアプリパスワードを作成しときます。

すると、画像のように、送信元にgamilが設定できるようになりかつWordPressのメールをSMTPサーバ(gmailなので)経由に設定できます。
テストしてみると、、、

無事届きました!
みっつー