送信の設定

メールサーバーからメールを送信するには、メールのリレー先を設定する必要があります。メールサーバーの設定の中にその設定がありますが、残念ながらこの設定だけでは送信することができません。そのため、コマンドラインから設定ファイルを直接編集する必要があります。

コマンドラインから編集する際には、vi エディターを使って行います。vi エディターは UNIX や Linux、BSD などでは基本的なツールです。もちろん BSD 系の macOS もデフォルトでインストールされています。このツールの使い方についてはここでは特に説明しませんが、検索サイトで検索すると数多くの説明したサイトが見つかります。

1. メールリレーの設定

Server アプリのメールの設定画面を開きます。開いたら「メールのリレー」の「ISP を経由して送信メールをリレー」にチェックを入れます。

2. リレー先の設定

メールのリレーという画面が表示されます。そこに次のようにリレー先の設定を入力します。入力したら「OK」をクリックします。
本来はこの設定だけで送信できるはずなのですが、これだけではメールサーバー本体の Postfix の設定に漏れががあり、リレーサーバーの認証がうまくいきません。この後に、コマンドラインから vi エディターを使って設定を修正します。

  • 送信メールのリレー:プロバイダーの送信メールサーバーなど、リレー可能なメールサーバーと送信ポート番号を入力します。送信ポート番号はサーバー名の後にコロン(:)で区切って入力します。
  • 認証:チェックを入れます。認証なしでリレーしてくれるメールサーバーは現在は、ほぼないと言っていいでしょう。
  • ユーザ名:リレー先のメールサーバーに接続するためのユーザー名を入力します。
  • パスワード:ユーザー名に対応するパスワードを入力します。

3. ターミナルの起動

コマンドを入力するために、ターミナルを起動します。アプリケーションフォルダーの中のユーティリティフォルダーから「ターミナル」をダブルクリックして起動します。

4. Postfix 設定ファイルを開く

メールの設定画面で設定した内容は、Postfix の設定ファイルに反映されています。このファイルを管理者権限で開いて修正します。
ターミナルが起動したら次のコマンドを入力します。入力すると、ログインしているアカウントのパスワードを聞いてくるので、パスワードを入力して設定ファイルを開きます。

sudo vi /Library/Server/Mail/Config/postfix/main.cf

5. 修正箇所の確認

設定ファイルの最後を表示すると、次のように設定が反映されているのが確認できます。設定には smtp 〜 と smtpd 〜 の2つがありますが、これは全く別物なので間違えないようにしてください。今回、対象となるのは smtp 〜 です。

relayhost = smtp.xxxx:587
smtp_sasl_password_maps = hash:/Library/Server/Mail/Config/postfix/sasl/passwd
smtp_sasl_auth_enable = yes

6. 設定の修正

リレーサーバーの設定部分の修正と、設定の追加をします。
リレーサーバーの修正は、次のようにカッコ( [] )をサーバー名の前後に追加します。

relayhost = [smtp.xxxx]:587

また、次の行を一番最後に追加します。

smtp_sasl_security_options = noanonymous

7. 設定の保存

修正した内容は、Server アプリのメール設定を変更したり、macOS のアップデートをした時などに消える可能性があります。そこで消えても困らないように、設定内容をコメントとしてコピーして残します。
Postfix の設定ファイルでは、行の先頭にシャープ(#)をつけるとそれ以降はコメントとしてみなされます。それぞれの行をコピーして、次のようにコメント化します。修正ができたら、保存して vi エディターを終了します。

#relayhost = [smtp.xxxx]:587
#smtp_sasl_password_maps = /Libary/Server/Mail/Config/postfix/sasl/passwd
#smtp_sasl_auth_enable = yes
#smtp_sasl_security_options = noanonymous

8. 認証設定ファイルを開く

次に、リレーサーバーの認証情報が書かれた設定ファイルを修正します。次のコマンドを入力して設定ファイルを開きます。

sudo vi /Libary/Server/Mail/Config/postfix/sasl/passwd

9. 認証情報の確認

認証情報の設定ファイルには、リレーサーバー名、ポート番号、ユーザー名、パスワードが書かれています。このうち修正するのはリレーサーバー名の部分です。

10. リレーサーバー名の修正

Postfix の設定ファイルと同じように、メールサーバー名の前後にカッコ( [] )を追加します。追加できたら保存して、vi エディターを終了します。

[smtp.xxxx]:587    ユーザー名:パスワード

11. 認証設定のハッシュ化

認証設定ファイルはハッシュ化する必要があります。これは次のように Postfix のコマンドを使って行います。

sudo postmap /Library/Server/Mail/Config/postfix/sasl/passwd

これで送信設定は完了です。設定ファイルを保存した時点で、修正内容はメールサーバーに自動反映されています。メールサーバーを再起動する必要はありません。

12. 注意事項

最後に注意事項があります。この送信設定をした後は、Server アプリのメールのリレー関連の部分は触らないでください。ここで変更してしまうと、上記の設定内容がなくなってしまうことがあります。もし、触ってしまったら上記のファイルを確認してください。設定が変わっていたらコメントにしておいた設定をコピーして、再設定し直してください。