まず完成版から
vagrantのコマンドラインで以下のように打ちます
[vagrant@localhost postfix]$ sendmail myaccount@gmail.com Subject: test test content .
自分のgmailアカウント
vagrantからのメールが届いてますね。
ここまで来るのに5~6時間かかりました。。。
まず、postfixをインストール後、
sudo yum -y install cyrus-sasl-md5 cyrus-sasl-plain
そして、/etc/postfix/main.cfファイルの編集
# 116行目 inet_interfaces = localhostを編集 inet_interfaces = all # 119行目 inet_protocols = allを編集 inet_protocols = ipv4 # 318行目 以下追加 relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain smtp_sasl_security_options = noanonymous smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
因みに、main.cfの「318行目」は末尾ではありませんのでご注意を。
続いて、16桁のGmailのアプリパスワードを生成します。
https://secuirty.google.com/settings/security/apppasswords
その後、/etc/postfix/に、sasl_passwdファイルをvimで作成します。パスワードはつくったアプリパスワードを入力。
[smtp.gmail.com]:587 example@gmail.com:app_password(16桁)
ここで、passwordにgmailの普通のパスワードを入れると、authentification errorになるのでご注意。
その後、postfixのディレクトリからコマンドラインで
postmap sasl_passwd
として、sasl_passwd.dbを作成します。
そして
sudo service postfix restart
また、gmailの設定で、安全性の低いアプリ(失礼な!)の設定を変更する必要があります。
これでsendmailが使えるようになります。あて先は、gmail以外でもOKです。送信元がvagrantになってました。カッコいい!
[vagrant@localhost postfix]$ sendmail myaccount@gmail.com Subject: test test content .
受信されてないようでしたらログを確認。
sudo cat /var/log/maillog
smtp結構複雑ですね。
別のvagrant環境立ち上げて試すなど、迷走しまくってました。。。