====== root宛メール転送設定 ====== 各prisonerのroot宛メールをjailer経由でgmailへ転送する。 ===== 構成 ===== - fw, web, desktopの各root宛メールはjailerのroot宛とする。 - jailerのroot宛メールはgmailアカウント宛とする。 ===== jailer設定 ===== ==== sendmail + tls + sasl導入 ==== sendmail+tls+sasl2 をインストールする。 ==== /etc/mail/mailer.conf 設定 ==== 導入したsendmailを指定する。 #sendmail /usr/libexec/sendmail/sendmail #send-mail /usr/libexec/sendmail/sendmail #mailq /usr/libexec/sendmail/sendmail #newaliases /usr/libexec/sendmail/sendmail #hoststat /usr/libexec/sendmail/sendmail #purgestat /usr/libexec/sendmail/sendmail sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail hoststat /usr/local/sbin/sendmail purgestat /usr/local/sbin/sendmail ==== /etc/rc.conf 設定==== fw, web, desktopからメールを受け取るため、rc.confにdaemon起動の設定を追加する。 sendmail_enable="YES" sendmail_procname="/usr/local/sbin/sendmail" saslauthd_enable="YES" * sendmail_procnameは効いていない様子 ==== /etc/hosts 設定 ==== メールのリレー元であるfw, web, desktopを/etc/hostsに登録する。 ==== /etc/mail/jailer.mc 設定 ===== [[http://port23.wordpress.com/2008/02/25/freebsd-sendmail-squirrelmail/|HowTo: Configure Sendmail with Gmail SMTP Server in FreeBSD]]を基にjailer.mcを編集する。jailer.mcはfreebsd.mcのコピーとする。\\ 82行目 dnl Enable for both IPv4 and IPv6 (optional) の上に追記 define(`confAUTH_OPTIONS',`A')dnl define(`confAUTH_MECHANISMS',`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl TRUST_AUTH_MECH(`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl FEATURE(`authinfo',`Hash -o /etc/mail/authinfo')dnl define(`SMART_HOST',`smtp.gmail.com')dnl define(`RELAY_MAILER_ARGS',`TCP $h 587') define(`ESMTP_MAILER_ARGS',`TCP $h 587') ==== /etc/mail/sendmail.cf 生成 ==== 編集したjailer.mcからsendmail.cfを生成する。 # cd /etc/mail # m4 /usr/local/share/sendmail/cf/m4/cf.m4 jailer.mc > sendmail.cf # ==== /etc/mail/authinfo.db 生成 ==== * authinfo.dbの基となるauthinfoを作成する。 AuthInfo:smtp.gmail.com "U:smmsp" "I:" "P:" "M:PLAIN" AuthInfo:smtp.gmail.com:587 "U:smmsp" "I:" "P:" "M:PLAIN" * authinfoからauthinfo.dbを生成する。 # makemap -r hash authinfo.db < authinfo ==== /etc/mail/local-host-names 作成 ==== local-host-namesを作成する。(必須であるかは不明) #touch local-host-names ==== /etc/mail/aliases.db 設定 ==== aliasesを編集して、root宛メールの送付先をgmailアカウントとする。 # root: me@my.domain root: newaliaesを実行し、aliases.dbを更新する。 # newaliases /etc/mail/aliases: 28 aliases, longest 22 bytes, 301 bytes total # ==== 送信テスト ==== - sendmailを停止、起動する。 # service sendamil stop # service sendmail start - mailコマンドでroot宛メールを送信する。 # mail root Subject: TEST TEST from jailer . EOT - gmailでメールが受信できていれば完了。/var/log/maillogにてstat=Sentとなっている事も併せて確認する。 ===== prisoner 設定 ===== prisoner fw, web, desktopそれぞれで設定を行う。 ==== /etc/hosts 設定 ==== メールのリレー先であるjailerを/etc/hostsに登録する。 ==== /etc/mail/aliases.db 設定 ==== aliasesを編集して、root宛メールの送付先をroot@jailerとする。 # root: me@my.domain root: newaliaesを実行し、aliases.dbを更新する。 # newaliases /etc/mail/aliases: 28 aliases, longest 22 bytes, 301 bytes total # ==== 送信テスト ==== - sendmailを停止・起動する。 # service sendamil stop sendmail_submit not running? (check /var/run/sendmail.pid). Stopping sendmail_clientmqueue. # service sendmail sart Cannot 'start' sendamil. Set sendmail_enable to YES in /etc/rc.conf or use 'onestart' instead of 'start' - mailコマンドでroot宛メールを送信する。 # mail root Subject: TEST TEST from fw . EOT - gmailでメールが受信できていれば完了。