koba::blog

小林聡: プログラマです

Macから /usr/sbin/sendmail でメール送信する

Leopard時代はMacから /usr/sbin/sendmail を使って外部にメール送信できていたように思うのだが、Mavericksで試してみたらうまく行かない。相手サーバに直接繋ぎにいって拒否されているもよう。

を参考に、中継サーバを設定してみる。MTAはMavericks標準のPostfixです。

中継サーバは普段メール送信に利用しているリムネットにする。リムネットのSMTPサーバは認証が必要なので、認証設定の検索DBの作成も必要。

1. 検索DBの入力ファイルを作成する

/etc/postfix/relay_password を作成し、以下の内容を記述する。

[mail.yk.rim.or.jp]:587  user:password

user, password は自分のものを設定。他人に見られないよう、パーミッションを変更しておきましょう。

$ sudo chmod go-rw /etc/postfix/relay_password

2. 検索DBを作成する

postmapコマンドを使用し、検索DBを作成する。

$ sudo postmap hash:/etc/postfix/relay_password

/etc/postfix/relay_password.db が作成される。

3. Postfix の設定を変更する

/etc/postfix/main.cf に以下の行を追加する。

relayhost = [mail.yk.rim.or.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/relay_password
smtp_sasl_security_options = 

4. メールを送信してみる

リムネットは envelope sender address の妥当性をチェックするので、-f で指定する必要があります。

$ /usr/sbin/sendmail -f user@yk.rim.or.jp mbox@example.com
From: user@yk.rim.or.jp
To: mbox@example.com
Subject: Test

Test from Mavericks.
.