baserCMSのメールフォーム設定その1~メールアドレス編~
自動保存プラグインを導入してから最初の記事執筆です。
世間はGWですね~。早く休みたい。
さて、今日から2回に分けてbaserCMSのメールフォーム設定についての覚書を書いていこうと思います。
2回目:baserCMSのメールフォーム設定その2~テンプレート編~
というのは弊社がbaserCMSを愛用・お勧めしている理由の一つです。
コーポレートサイトにはメールフォームは必須ですよね。
都道府県や郵便番号の入力に標準対応しているため、
メールフォームについて悩むことはほとんどありません。
また、メールフォームの項目を管理画面からGUIで自由に変更可能なため、
CMSやブログに慣れているクライアント様であれば、
ブログ・固定ページのご自分での投稿に加え、メールフォームの機能追加まで任せてしまっても運用上問題ないほどです。
メールの送信先や送信結果にミスや問題があると、いくらbaserCMSのメールフォームが優れていても宝の持ち腐れです。
今日はメールアドレス回りの設定について覚書を残しておきます。
[システム設定] > [サイト基本設定] > 管理者メールアドレス を変更すると、送信元が切り替わります。
※メールフォームごとに送信元を切り替えるには、メールプラグインのコードを修正する必要があります。
参考:お問い合せフォームの送信元をスイッチしたい|フォーラム|baserCMSユーザーズ
・フォームに入力されたユーザーのメールアドレス向けの自動送信メール
・管理者向け自動送信メール
の2通が管理者メールアドレスから送信されます。
管理者向けの自動送信メールのあて先は、メールフォームごとに切り替えることができます。
[システムナビ] > [メールプラグイン] > [メールフォーム一覧]に表示されているメールフォームから
変更したいフォームの名前をクリックすると編集画面になります。
送信先メールアドレスを別のメールアドレスに送信するに設定し、メールアドレスを入力、保存すればOKです。
こちらもメールフォームごとの編集画面の、BCC用送信先メールアドレスに設定があります。
詳細:お問い合せメールを複数メールアドレスで受信したい|メールフォーム編|baserCMSマニュアル|baserCMSユーザーマニュアル
カンマ(,)区切りにすることで、複数のメールアドレスを指定することができます。
レンタルサーバの設定や管理者メールアドレスとして指定したメールアドレスによっては、
実際にメールの送信テストをしてみると、
・受信先のメールソフトやサービスでフィッシングメールと疑われるメッセージが表示されたり、
このメッセージは次のアドレスから送信されたものではない可能性があります:
info@example.com 詳細 フィッシングを報告
・迷惑メールに分類されたり
ということが起こりえます。
これに対し、多くのメールソフトやサービスに、メールヘッダの情報からメールサーバのドメインを逆引きして正当性を確認(送信ドメイン認証)することによって、
スパムやフィッシングの疑いがあるメールを検出する機能が備わっています。
※送信ドメイン認証についての解説は省きます
baserCMSを運用しているWebサーバと、送信元に利用する管理者メールアドレスを運用しているメールサーバが別である場合、
この送信ドメイン認証に引っかかるケースが多々あります。
サーバのメール転送エージェント(MTA)が適切に設定されている場合がほとんどかと思います。
※レンタルサーバ業者によっては送信ドメイン認証(SPF認証)がオプションで設定できるところもあります。
設定しておけばスパムと誤認される可能性も減るでしょう。
・Webサイトのドメインとメールアドレスのドメインがそもそも異なる
Google AppsやOutlook.comなどのWebメールを利用している、というケースはなかなか多いのではないでしょうか?
管理者メールアドレスのドメインに対応したSMTP(メール送信)サーバを正式に経由してメールを送信することで、
この問題は解決できます。
baserCMSの[システム設定] > [サイト基本設定] > [オプション]の下部に、
外部のメールサーバを指定するための設定項目だったんですね!びっくり!
利用しているメールサービスのSMTPサーバの設定、メールソフトの設定などといったページを参照して項目を埋めればOKです。
たとえばGmailの場合はこのような感じです。
[SMTP TLS暗号化]は現在リリースされているbaserCMS3.0.2の時点では実装されていません。
※記事執筆時点での情報です
当サイトでTLS通信が必要な外部のSMTPサーバを利用しており、
3系に移行するにあたり対応が必要だったため、GitHubでプルリクエストを送って追加していただきました。
(2系の時はCakePHPコアに手を加えていました)
Merge pull request #143 from n1215/smtpTls
GmailやGoogle Appsも送信サーバにはTLSが必須となっていますが、この修正で外部SMTPサーバの設定が可能になっています。
GitHubのbaserCMSのリポジトリから最新の開発版をDLして動かせば、この設定を体験可能です。
・送信先アドレス(To)はBCCと合わせてメールフォーム個別の設定で変更
・スパムやフィッシングと判断されるようならサイト基本設定からSMTPの設定を検討
次回はメールテンプレート編(送信文面とメールフォーム)です。
2014/07/23追記:baserCMSのメールフォーム設定その2~テンプレート編~
世間はGWですね~。早く休みたい。
さて、今日から2回に分けてbaserCMSのメールフォーム設定についての覚書を書いていこうと思います。
2回目:baserCMSのメールフォーム設定その2~テンプレート編~
baserCMSのメールフォーム
柔軟なメールフォームがついている、というのは弊社がbaserCMSを愛用・お勧めしている理由の一つです。
コーポレートサイトにはメールフォームは必須ですよね。
都道府県や郵便番号の入力に標準対応しているため、
メールフォームについて悩むことはほとんどありません。
また、メールフォームの項目を管理画面からGUIで自由に変更可能なため、
CMSやブログに慣れているクライアント様であれば、
ブログ・固定ページのご自分での投稿に加え、メールフォームの機能追加まで任せてしまっても運用上問題ないほどです。
メールアドレス/設定
そんなbaserCMSのメールフォームですが、意外と設定できる項目が多く、初心者は「あれ、これはどこで入力するんだ?」と戸惑うことがよくあります。メールの送信先や送信結果にミスや問題があると、いくらbaserCMSのメールフォームが優れていても宝の持ち腐れです。
今日はメールアドレス回りの設定について覚書を残しておきます。
よくあるメールアドレスの設定や問題
baserCMSユーザーマニュアルの説明を見ればほとんど書いてあることばかりですが。1.送信元(From)のメールアドレスを変更したい
baserCMSのインストール時に入力した[管理者メールアドレス]が利用されます。[システム設定] > [サイト基本設定] > 管理者メールアドレス を変更すると、送信元が切り替わります。
※メールフォームごとに送信元を切り替えるには、メールプラグインのコードを修正する必要があります。
参考:お問い合せフォームの送信元をスイッチしたい|フォーラム|baserCMSユーザーズ
2.フォームごとに管理者向け自動送信メールの送信先アドレス(to)を指定したい。
baserCMSのデフォルトの設定では、・フォームに入力されたユーザーのメールアドレス向けの自動送信メール
・管理者向け自動送信メール
の2通が管理者メールアドレスから送信されます。
管理者向けの自動送信メールのあて先は、メールフォームごとに切り替えることができます。
[システムナビ] > [メールプラグイン] > [メールフォーム一覧]に表示されているメールフォームから
変更したいフォームの名前をクリックすると編集画面になります。
送信先メールアドレスを別のメールアドレスに送信するに設定し、メールアドレスを入力、保存すればOKです。
3.ほかのメールアドレス(BCC)にも管理者向けの自動送信メールを送りたい
管理者向けの自動送信メールは、複数のアドレスに送ることが可能です。こちらもメールフォームごとの編集画面の、BCC用送信先メールアドレスに設定があります。
詳細:お問い合せメールを複数メールアドレスで受信したい|メールフォーム編|baserCMSマニュアル|baserCMSユーザーマニュアル
カンマ(,)区切りにすることで、複数のメールアドレスを指定することができます。
4.送信したメールが迷惑メールに分類される、またはフィッシングメールとして扱われるのを何とかしたい
本日のメインのお題です。レンタルサーバの設定や管理者メールアドレスとして指定したメールアドレスによっては、
実際にメールの送信テストをしてみると、
・受信先のメールソフトやサービスでフィッシングメールと疑われるメッセージが表示されたり、
このメッセージは次のアドレスから送信されたものではない可能性があります:
info@example.com 詳細 フィッシングを報告
・迷惑メールに分類されたり
ということが起こりえます。
原因
スパムメールが一向に減る気配を見せない昨今、送信元を偽装して送られるスパムも少なくありません。これに対し、多くのメールソフトやサービスに、メールヘッダの情報からメールサーバのドメインを逆引きして正当性を確認(送信ドメイン認証)することによって、
スパムやフィッシングの疑いがあるメールを検出する機能が備わっています。
※送信ドメイン認証についての解説は省きます
baserCMSを運用しているWebサーバと、送信元に利用する管理者メールアドレスを運用しているメールサーバが別である場合、
この送信ドメイン認証に引っかかるケースが多々あります。
問題のないケースの例
・Webサイトとメールアカウントを同じレンタルサーバのサービスで同じドメインで運用しているサーバのメール転送エージェント(MTA)が適切に設定されている場合がほとんどかと思います。
※レンタルサーバ業者によっては送信ドメイン認証(SPF認証)がオプションで設定できるところもあります。
設定しておけばスパムと誤認される可能性も減るでしょう。
問題となりうるケースの例
・example.comのメールアカウントをWebサーバとは別のサービスで運用・Webサイトのドメインとメールアドレスのドメインがそもそも異なる
Google AppsやOutlook.comなどのWebメールを利用している、というケースはなかなか多いのではないでしょうか?
解決策
管理者メールアドレスのドメインに対応したSMTP(メール送信)サーバを正式に経由してメールを送信することで、
この問題は解決できます。
baserCMSの[システム設定] > [サイト基本設定] > [オプション]の下部に、
メール設定関連
なる項目があります。おそらくbaserCMSの利用者の一部にとって「最初の設定のままでもメール送れてるし……何に使うんだこれ???」な項目になっているのではないかと思います。外部のメールサーバを指定するための設定項目だったんですね!びっくり!
利用しているメールサービスのSMTPサーバの設定、メールソフトの設定などといったページを参照して項目を埋めればOKです。
たとえばGmailの場合はこのような感じです。
送信メール(SMTP)サーバー - TLS が必要 smtp.gmail.com ポート: 465 または 587 SSL を使用する: はい 認証が必要: はい 受信メール サーバーと同じ設定を使用する
SMTP TLS暗号化通信
実はこの画像に映っている一番下の項目、[SMTP TLS暗号化]は現在リリースされているbaserCMS3.0.2の時点では実装されていません。
※記事執筆時点での情報です
当サイトでTLS通信が必要な外部のSMTPサーバを利用しており、
3系に移行するにあたり対応が必要だったため、GitHubでプルリクエストを送って追加していただきました。
(2系の時はCakePHPコアに手を加えていました)
Merge pull request #143 from n1215/smtpTls
GmailやGoogle Appsも送信サーバにはTLSが必須となっていますが、この修正で外部SMTPサーバの設定が可能になっています。
GitHubのbaserCMSのリポジトリから最新の開発版をDLして動かせば、この設定を体験可能です。
外部SMTPサーバを指定するデメリット
外部のサーバとインターネットを介して通信するため、
メールフォームの送信から完了画面の表示までに時間がかかるようになります。
(欲を言えばバックグラウンドでメール送信タスクがキューに積まれる実装になると問題ないのですが)
まとめ
・送信元アドレス(From)は管理者アドレスなのでシステム設定から変更・送信先アドレス(To)はBCCと合わせてメールフォーム個別の設定で変更
・スパムやフィッシングと判断されるようならサイト基本設定からSMTPの設定を検討
次回はメールテンプレート編(送信文面とメールフォーム)です。
2014/07/23追記:baserCMSのメールフォーム設定その2~テンプレート編~