close

讓 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 install

cd /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: $SUBJECT

Dear $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.gz

tar -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 data

cd /var/www/cgi-bin/openwebmail/auth
cp auth_unix.pl auth_unix.bak
vi auth_unix.pl

my $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
  • 點選功能列中, 齒輪狀的圖示
  • 勾選「自動回覆」
    回覆內容和標題可自行修改
  • 畫面拉到最下面, 點選「儲存」即完成
  • 要取消的話, 把「自動回覆」的勾拿掉即可
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 安德森 的頭像
    安德森

    安德森技術備忘板

    安德森 發表在 痞客邦 留言(0) 人氣()