Mac で Postfix を使って Gmail 経由でテストメールを送信できるようにする方法

Postfix を Mac に設定して Sendmail を送る方法です。大半は以前書いた Ubuntu の設定や下記のサイトを参考にすれば可能ですが、Mac ではパスが違ったり、デフォルトで出るエラーなどがありますので、その辺りについてまとめておきます。

Postfix を設定してメール送信出来るようにする

Postfix を起動する

Mac には Postfix がデフォルトで入っているようです。そのため、以下のコマンドで起動をします。

1
sudo postfix start

Postfix を起動するとエラーが出る

Postfix を起動したら下記のようなエラーが発生しました。エラーメッセージの内容ですが「グループもしくはその他での書き込みができる」的なことが書いてあります。推測ですが、その他のユーザーなどが書き込めるようになっているのが問題なのでしょうか。

postfix/postfix-script: warning: group or other writable: /Library/Server/Mail/Data/mta

よくわからないので、エラーメッセージで検索してみたら下記の記事で回答がありました。英語なので該当部分のみを簡単に和訳させて頂きます。

「グループもしくはその他の書き込み」というメッセージは、別のユーザー(オーナーではない)が書き込めることを意味しています。あなたは chmod でそれを修正することができます。下記がグループの書き込み権限を削除する例。

ということでコードを提示してくれています。

1
sudo chmod g-w /Library/Server/Mail/Data/mta

その後に下記のコマンドでチェックしてエラーが発生するか調べます。エラーメッセージが出なければ解決です。

1
sudo postfix check

Postfix の設定をする

以下のファイルの編集をします。

1
sudo vi /usr/share/postfix/main.cf

下記の項目のコメントアウトを外して設定します。設定ファイル内ではバラバラに配置されています。値についてはテストメールを送信するだけなら、設定ファイルにあるサンプルのままでも送信することができます。

1
2
3
4
5
6
7
8
mail_owner = postfix
myhostname = mail.ubuntu
mydomain = ubuntu
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 192.168.0.0/24, 127.0.0.0/8
home_mailbox = Maildir/

relayhost の設定もしておきます。

1
relayhost = [smtp.gmail.com]:587

設定ファイルの末尾に下記の設定を記述。

1
2
3
4
5
6
7
8
9
#sasl setting
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
 
#tls setting
smtp_use_tls = yes

Gmail アカウントの情報を設定する

/etc/postfix/sasl_passwd を作成します。

1
sudo vi /etc/postfix/sasl_passwd

以下のように Gmail のアカウント情報を入れます。

1
[smtp.gmail.com]:587 example@gmail.com:password

適切な権限を設定し postmap をかける。

1
2
chmod 640 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Postfix を再起動する。

1
2
sudo postfix stop
sudo postfix start

テストメールを送信する

1
echo test|mail demo@example.com

おわりに

私の環境では cron で通知メールが内部で送信され続けていたようで、Postfix の設定が完了した瞬間に100通くらいのメールが cron の通知先(自分のメールアドレス)に送信されて驚きました。

コメント

コメントは受け付けていません。