debianはインストール直後はexim4が動いていて、localhost内のメールだけ読み書きできるようになっています。外部から受け取る必要がなくても、内部のサービスや、各種ログなどを外に送りたいことは有ります。自前のMTAはいらないので外部のMTAにまかせてメールを送る設定をしてみたいと思います。今回はGoogle Appsにメールを送る方法を備忘録として残しておきます。
exim4の再設定
rootでdpkg-reconfigure exim4-configを実行します。以下のように設定しました。
General type of mail configuration: mail sent by smarthost; received via SMTP or fetchmail System mail name:サーバのFQDN IP-addresses to listen on for incoming SMTP connections:127.0.0.1 ; ::1 Other destinations for which mail is accepted:サーバのFQDN Machines to relay mail for:(blank) IP address or host name of the outgoing smarthost:smtp.gmail.com::587 Hide local mail name in outgoing mail? <Yes> Visible domain name for local users:サーバのFQDN Keep number of DNS-queries minimal (Dial-on-Demand)? <No> Delivery method for local mail:mbox format in /var/mail/ Split configuration into small files? <No>
転送先アカウントの設定
今回はGoogle Appsのアカウントを使っているので、Google Account のユーザ名とパスワードを設定します。2段階認証を使っている場合は事前にアプリケーション固有のパスワードを取得しておきます。/etc/exim4/passwd.clientに以下を記述。
*.google.com:(メールアドレス):(パスワード)
2019年9月頃にGoogleの仕様が変わりました。以下が正解です。
smtp.gmail.com:(メールアドレス):(パスワード)
このファイルはパスワードが含まれるので、owner rootでgroup Debian-exim、パーミッションは640です。
また内部のメール転送のために/etc/email-addressesも設定しておきます。
設定の反映
update-exim4.confを実行して終わりです。