讓 sendmail 自動回覆信件
渡假去? 只要使用 Vacation Mail Responder 或 Openwebmail 內建的自動回覆功能, 就不會因為無法回信讓別人誤以為信件寄丟.
環境: Fedora Core 3 + Sendmail 8.13.1-2
套件: vacation 1.2.6.1、openwebmail 2.51
使用 Vacation Mail Responder 產生自動回覆郵件
安裝 Vacation Mail Responder
連結 http://sourceforge.net/projects/vacation/, 下載 vacation source tarball 至 /usr/local/src
tar -zxf vacation-1.2.6.1.tar.gz
cd vacation
make installcd /etc/smrsh
ln -s /usr/bin/vacation確定使用者的預設 shell 包含在 /etc/shells 清單中
使用者的 shell 若是 /dev/null、/bin/false、/sbin/nologin (不讓使用者 ssh、telnet 登入系統) 者, 需新增 shell name 至 /etc/shells 才能讓系統自動執行 vacation
例如: 使用者 bob 的預設 shell 是 /bin/false, 則 /etc/shells 裡面要有 /bin/false 才能讓系統自動執行 vacation
啟用自動回覆機制
vacation (以使用者身份執行)
編輯自動回函內容 (.vacation.msg, 詳後述)
ls -al ~
確認家目錄中是否有以下檔案:
.forward 內容格式: \帳號, "|/usr/bin/vacation 帳號" .vacation.db 記錄曾自動回覆的 e-mail address, 七日內若再收到該 e-mail address 寄來的郵件將不再產生自動回覆
可使用 vacation -tN 設定. N = 0 以上的數字, 若設為 0 表示只要收到 mail 就自動回覆.vacation.msg 內容範例: From: "Someone" <someone@your.com.tw>
Subject: Auto-Reply: $SUBJECTDear $FROM,
本人自 2005/12/24 起出國渡假,
您的來信: "$SUBJECT"
我會在 2006/01/02 回到工作崗位後馬上處理
造成不便敬請見諒!
Best Regards,
Someone取消 Vacation 自動回覆: 刪除 ~/.forward
再次啟用 Vacation 自動回覆: 執行 vacation
使用 Openwebmail 自動回覆郵件功能
安裝 Openwebmail
yum install perl-suidperl perl-Compress-Zlib
cd /usr/local/src
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/current/openwebmail-current.tar.gz
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/packages/MIME-Base64-3.01.tar.gz
wget http://turtle.ee.ncku.edu.tw/openwebmail/download/packages/Text-Iconv-1.2.tar.gztar -zxf MIME-Base64-3.01.tar.gz
cd MIME-Base64-3.01
perl Makefile.PL
make
make install
cd ..tar -zxf Text-Iconv-1.2.tar.gz
cd Text-Iconv-1.2
perl Makefile.PL
make
make install
cd ..tar -zxpf openwebmail-current.tar.gz -C /var/www
cd /var/www
mv ./data/openwebmail ./html
rmdir datacd /var/www/cgi-bin/openwebmail/auth
cp auth_unix.pl auth_unix.bak
vi auth_unix.plmy $passwdfile_encrypted = $conf{'passwdfile_encrypted'} || '/etc/master.passwd';
改成↓
my $passwdfile_encrypted = '/etc/shadow';my $passwdmkdb = $conf{'passwdmkdb'} || '/usr/sbin/pwd_mkdb';
改成↓
my $passwdmkdb = 'none';cd /var/www/cgi-bin/openwebmail/etc
cp openwebmail.conf openwebmail.bak
vi openwebmail.conf
domainnames your.domain.name auth_module auth_unix.pl mailspooldir /var/spool/mail ow_cgidir /var/www/cgi-bin/openwebmail ow_cgiurl /cgi-bin/openwebmail ow_htmldir /var/www/html/openwebmail ow_htmlurl /openwebmail logfile /var/log/openwebmail.log enable_sshterm no enable_changepwd no cd /var/www/cgi-bin/openwebmail/etc/defaults
cp dbm.conf dbm.conf.bak
vi dbm.conf
dbm_ext .db dbmopen_ext .db dbmopen_haslock no vi /etc/logrotate.d/syslog
/var/log/openwebmail.log {
postrotate
/usr/bin/killall -HUP syslogd
endscript
}vi /etc/httpd/conf/httpd.conf
ScriptAlias /mail "/var/www/cgi-bin/openwebmail/openwebmail.pl"
service httpd reload
/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init安裝完成, 以瀏覽器連結網址: http://your.host.ip/mail/
啟用 Openwebmail 自動回覆功能的前置作業
cd /etc/smrsh
ln -s /var/www/cgi-bin/openwebmail/vacation.pl確定使用者的預設 shell 包含在 /etc/shells 清單中
使用者的 shell 若是 /dev/null、/bin/false、/sbin/nologin (不讓使用者 ssh、telnet 登入系統) 者, 需新增 shell name 至 /etc/shells 才能正常執行 Openwebmail 的自動回覆功能
例如: 使用者 bob 的預設 shell 是 /bin/false, 則 /etc/shells 裡面要有 /bin/false 才能正常執行 Openwebmail 的自動回覆功能
啟用 Openwebmail 自動回覆功能
- 開啟瀏覽器, 登入 Openwebmail
- 點選功能列中, 齒輪狀的圖示
- 勾選「自動回覆」
回覆內容和標題可自行修改- 畫面拉到最下面, 點選「儲存」即完成
- 要取消的話, 把「自動回覆」的勾拿掉即可