pop-before-smtp

pop-before-smtp 是用pop認證來代替smtp認證帳號,只要寄信之前先收信後就可以寄信,這時候smtp認證就是使用之前的pop認證

準備:
1. perl modules

Time::HiRes
File::Tail
Net::Netmask
Date::Parse
DB_File
可至 http://search.cpan.org/ 下載安裝

2.pop-before-smtp-1.42.tar.gz
可至 https://sourceforge.net/project/showfiles.php?group_id=5017 下載安裝

安裝:
1. 安裝所需的 perl modules
# perl Makefile.PL
# make
# make install
註: 這是針對perl modules 安裝的方法


2. 設定 pop-before-smtp
解壓縮:
# tar -zxvf pop-before-smtp-1.42.tar.gz
進入該目錄:
# cd pop-before-smtp-1.42.tar.gz
修改 pop-before-smtp-conf.pl
# vi pop-before-smtp-conf.pl

找到下列三個參數後並做以下設定
$file_tail{‘name’} = ‘/var/log/maillog’; #設定mail的log檔
$grace = 30*60;         #有效時間,單位是秒
$dbfile = ‘/etc/postfix/pop-before-smtp’;  #允許ip的db存放位置

找到支援vm-pop3d的設定, 並將註解拿掉
# A Modern vm-pop3d can use a normal, 1-line pattern:
$pat = ‘^[LOGTIME] \S+ vm-pop3d\[\d+\]: ‘ .
‘User .+? logged in from (\d+\.\d+\.\d+\.\d+)’;

3. 測試 pop-before-smtp 是否可用
# ./pop-before-smtp –config=./pop-before-smtp-conf.pl –debug –nowrite –reprocess
註: 如果有列出日期及ip等資料,則表示正確

4. 安裝 pop-before-smtp
# cp pop-before-smtp.init /etc/rc.d/init.d/pop-before-smtp
# cp pop-before-smtp /usr/sbin/
# cp pop-before-smtp-conf.pl /etc

5. 將 pop-before-smtp 加入 chkconfig,並開機自動啟動
# chkconfig –add pop-before-smtp
# chkconfig pop-before-smtp on

6. 啟動 pop-before-smtp
# service pop-before-smtp start
or
# /etc/rc.d/init.d/pop-before-smtp start
註: 啟動後在/etc/postfix/下會多出一個 pop-before-smtp.db檔案

7. 修改postfix的main.cf
# vi /etc/postfix/main.cf
修改 smtpd_recipient_restrictions
smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient, check_client_access hash:/etc/postfix/pop-before-smtp, check_relay_domains
增加 check_client_access hash:/etc/postfix/pop-before-smtp 這一行

8. 重新啟動 postfix
# service postfix restart
or
# /etc/rc.d/init.d/postfix restart

Related Posts with Thumbnails

相關文章

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>