酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

macOSでPostfix(sendmail)を使ってメールを送信する

macOSには標準でPostfixが入っているようです。設定方法はこちらを参考に設定していきました。

Postfixの設定をおこなう

メールアドレスとパスワードを設定します。

$ sudo vim /etc/postfix/sasl_passwd
smtp.gmail.com:587 username@gmail.com:パスワード

メールアドレスとパスワードを保存します。

$ sudo postmap /etc/postfix/sasl_passwd

sasl_passwd.dbができました。パスワードが書かれているsasl_passwdは削除してしまいましょう。

Gmailを使ってメールを送信できるように設定します

$ sudo vim /etc/postfix/main.cf

300行目あたりに下記の設定を追加します。

relayhost=smtp.gmail.com:587
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom
smtp_sasl_security_options = noanonymous
smtp_always_send_ehlo = yes
smtp_sasl_mechanism_filter = plain
compatibility_level = 2

設定を読み直します。

$ sudo postfix reload

Postfixが起きていない場合にはsudo postfix startで起こす。

$ sudo postfix start

コマンドラインでメールを送信する

あとはメールを送信するだけです。

$ date | mail -s test メールアドレス

こんな感じでメールが届きました。

f:id:ch3cooh393:20170703165459p:plain

ただ、日本語でタイトルと本文を入力すると文字化けしてしまいました。

$ echo "本文です" | mail -s "タイトル" メールアドレス