この記事は、少し古いです。代わりに以下の記事をご覧ください。この記事は、参考資料として「Appendix」を保存するために、このまま維持することにしました。 代わりの記事では、2020/09の時点において、Synology NASに立ち上げているWordPressから、外にメールを送れるように、「WP Mail SMTP by WPForms」プラグインとGMAIL APIを使って可能にする内容です(2020/09/13)。
概要
メール送信の手段は、以下のとおり2つある。
1. SMTPにるメール発信
このSMTPとは、WordPressが導入されてるいサーバーで可動しているSMTPである。SynologyもGoogleのgmailの仕様が変更されたことで、少し混乱しているかもしれない。サイトに行っても解決策が古かったりしているので、今、現在は、どうなのか不明だ。
現状では、SMTPを使用したサイト外への発信は断念した。そもそも、Synology NASのSMTPからWordPressのメールを飛ばせるのかどうかすら、よく理解できていない。
SMTPを使用する場合、DNSの設定とMailPlus Severの設定をそれぞれ整合させなければならないと思われるが、DNSの設定については、以下で述べているように、なかなかハードルが高く僕の技術と知識レベルでは、現状断念せざるを得なかった。
2. PHPによるメール発信
色々調べていく過程で、WordPressのプラグインを使用して、その基本プログラム言語であるPHPからメール配信をコントールできることが分かった。まず、最初に試した”WP mail SMTP by WPForms”は、配信の成否が分かるものの、配信できない場合の解決策を提案してくれなかった。
Synology: WordPress not Sending Emails (Solved)

そこで、次に試した”Post SMTP Mailer/Email Log”は、GmailアカウントとGoogle API consoleの設定により、メールをWordPress(厳密にはPHP)からサイト外に発信できるようにするプラグイン (作者: Yehuda Hassineさん)。これを使って、且つ、blogにある設定方法:“How to Set up and Configure Postman SMTP on WordPress”に従い設定を進めてた。

その結果、サイト外へのメール発信がこれまでできなかったが、無事に発信できるようになった。
3. 設定方法
基本的には、同設定方法に従えばよい。Google API Consoleの体裁が若干の変更があり混乱するが、図1のように、設定する項目は、左側のタグのように、後ほど確認できる。設定し忘れても、このページに戻ってから設定すれば問題ない。以下に、Google API Consoleでの作業における特記事項を示す
- ドメイン(harikiri.diskstation.me)の承認には、Google API Consoleでの作業でダウンロードしたhtmlファイルを、Google API Consoleが指定する、ドメインにコピペする
- クライアントIDとクライアント シークレットを、当該プラグインの入力領域にコピペすれば良い。
設定項目は、以下の図のようなタグ(左側)がある。

今回の作業で全体として分かったこと
- Synology NASのメールシステム(SMTP)を使用できるようにするには、DNSの設定が完全でないといけない。
- DNSの設定の検証には、MX TOOLBOXを使用できる。このツールは、Synologyサイトにも使用の記載があり、DNS, SMTP, MXなどをはじめ、サイトにおける多数のサーバーの設定の適切性を調べてくれる。
- DNSの設定には、A RECORD, NS RECORDに加えて、メール配信に関わるMX RECORDの正しい記載が必要である。
- 更に、近年のSPAMメール対策のために、多数の認証方法が取られており、SPF RECORDについても正しい記述が必要である。
- 以上のように、SMTPを使えるまでには、まだ、知識・技術が不足している。今後の自助努力によるSMTPの設定の完了に期待する。時期バージョンのDSMにも期待。
編集履歴 2019/12/14 はりきり(Mr) 2020/09/13 修正 (新しいくプラグインを変更したので、その記事への誘導、この記事は、Appendixほ保存するために、このまま維持する)
Appendix
- 以下は、SMTPを正常に稼働させるセッティングのために集めた情報
- Synologyサイトの解説では目的達成不可
- 以下のサイトでは、自分宛の通知メールの設定であるため、今回の目的は達成できない
1. 目的
DSM 6.2.2-24922 Update 2 以降のバージョンを使用しているユーザーで、次の目的でメールを送信する場合は、下の手順に従って SMTP サーバー設定を行う必要があります。
- 個人通知を送信します。
- ssmtp バイナリを使用して、タスク スケジューラでユーザー定義のスクリプトを実行するなどの電子メールを送信する。
- Web Station を使用して Web サイトを構築し、PHP を使用して電子メールを送信する。これには、他社製 Web サイトパッケージ (WordPress、MantisBTなど) からの電子メールの送信も含まれます → 手順に進む
- Photo Station の写真や記事に誰がコメントを残した場合にメール通知を送信する。
2. 手順
- Google アカウントへのアクセスを許可する
- Gmail SMTP サーバーを設定する
- 注) Googleのマイアカウントで、セキュリティの低いアプリのアクセスを許可する必要があります。
DNSの記述
Aレコード
- ドメイン -> IP Address
- メール配信に関わらない
NSレコード (ネームサーバー レコード)
MXレコード (メールエクスチェンジ レコード)
- ドメイン -> メール配信先
- user@harkiri.diskstation.meにメールが来たとすると、DNSの記述の一般設定は以下の通り
- harikiri.diskstation.me. IN MX 10 mail.harikiri.diskstation.me
- mail.harikiri.diskstation.meは、メールサーバー(mail server)
- メールサーバーは複数設定可能。その時の転送優先順位は、前述の記述では、10となっている。
MXレコード -> Aレコードで1組の設定
- MXレコードに対応するAレコードは以下の通り
- [mail.harikiri.diskstation.me -(A)-> 192.168.xx.xx]
NS RECORDからA RECORDで1組
- harikiri.diskstation.me -(NS)-> ns.harikiri.diskstation.me
- ns.harikiri.diskstation.me -(A)-> 192.168.xxx.xxx.
CNAME REDORDからA RECORD
- www.harikiri.diskstation.me -(CNAME)-> ns.harikiri.diskstation.me
TXT RECORD (テキストレコード)
- コメント欄のレコード
- A RECORDに関連しているドメインの情報を記載
- 迷惑メール対策(*1)に使用されている
- (*1) SPF, DKIMの記載に使用される
SPF (Sender Policy Framework), 送信元のアドレス詐称によるSPAMメール対策、DNSのSPF Typeの記述の仕方について詳細な説明
- SMTPでのメール送受信で使われる送信ドメイン認証方式
- A siteのDNSにはSPF RECORDが登録されている
- 登録内容は、メール配信するメールサーバーのIP Address一覧。これがSPF RECORDである
- A siteからB siteにSMTPでメールを送ると、
- A siteからB siteにメールを配信
- Bは、AのDNSにSPF RECORDを問い合わせる
- Bは、SMTP接続アドレスとSPF RECORDを照合する。
- 認証成功なら、Bは、ドメインで配信する
- なりすましを回避できる
SPFの書き方
- TXT RECORDに記述する
- v=spf1 +MTA(*)リスト[半角スペース[同リスト]]… MTAリスト以外から送出された場合の判定all
- 具体例 : v=spf1 +mx –all
- 送出MTAは以下のように記述する。(+は省略可能)
- (*) mail transfer agent
| MXを指定 | +mx |
| IPアドレス指定 | +ip4:61.123.198.244 |
| ネットワークID指定 | +ip4:61.123.198.240/29 |
- allの自己判定は、”-“, “~”および”?”の3つのステータスがある。
| Fail | –all |
| SoftFail | ~all |
| Neutral | ?all |
- 受け取り側で、これらステータスをどう処理するかは、受信側のポリシーに任される。
- 自分のなりすましを絶対に許さないと希望するなら、
「Fail (-all)」
- JEAGは、移行措置としてSoftFailを使うことを容認しているが、Failを推奨すはる
Synology NAS to set up mail sever part 2
きちんと下準備!メール配信に欠かせない「DNS」「MX RECORD」とは? Aレコード、MXレコードがDNSと関連させて分かりやすく解説されている
Synology site, How to set up MailPlus Server on your Synology NAS MailPlus ServerのSet Upについての説明
SPAMHAUS スパムメールとしてIP Address/Host Nameが登録されている
MX TOOLBOX mail serverが正しく設定されているかどうか調べるサイト