Fedora 9 mail 系統筆記

Fedora 9  mail 系統筆記

sendmail 設定

1. 設定sendmail 可以接收外部連線

修改 sendmail.mc

DAEMO_OPTIONS( `Port=smtp,Addr=0.0.0.0, Name=MTA’)dnl

建立新的 sendmail.cf 設定檔

m4 sendmail.mc > sendmail.cf

測式:

netstat -antp | grep :25 (確定sendmail是否有啟動監聽port-25)
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 14012/sendmail: acc
[root@mail ~]# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 mail.mis.dom ESMTP Sendmail 8.14.1/8.14.1; Thu, 29 Nov 2007 07:53:04 -0500
[root@mail ~]# telnet 192.0.1.149 25
Trying 192.0.1.149…
Connected to 192.0.1.149.
Escape character is ‘^]’.
220 mail.mis.dom ESMTP Sendmail 8.14.1/8.14.1; Thu, 29 Nov 2007 07:51:43 -0500

2. 設定可接收的郵件位址:

vi /etc/mail/local-host-names

mail.xxx.com.tw

xxx.com.tw

接收的郵件位址一行一個

3. 設定可收發,轉遞(relay)的郵件位址

vi /etc/mail/access

192.168.1.0         RELAY

設上內部網路的IP允許寄信

makemap hash access < access  製作出 hash 格式的資料庫

4. 設定smtp認證

安裝 cyrus-sasl-md5  cyrus-sasl-plain  cyrus-sasl套件

修改之前的 /etc/mail/sendmail.mc

將下面兩行最前面的 dnl 拿掉

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl
dnldefine(`confAUTH_MECHANISMS’, `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN’)dnl

重新產生sendmail.cf檔 : m4 sendmail.mc > sendmail.cf

重新啟動 sendmail 服務: service sendmail restart

利用telnet 測式smtp認證功能是否生效(要有出現 LOGIN PLAIN才算)

[root@mail cf]# telnet localhost 25
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 mail.mis.dom ESMTP Sendmail 8.14.1/8.14.1; Tue, 27 Nov 2007 18:16:54 -0500
ehlo localhost (輸入這一個指令)
250-mail.mis.dom Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP

5. 因為寄信給yahoo有時很難寄成功,設定讓寄給yahoo的信交給Hinet 轉寄

    修改 vi /etc/mail/Mailertable

    @yahoo.com.tw    smtp:[168.95.4.211]

安裝MailScanner

官方網站 : http://www.mailscanner.info/

我是安裝版本 : MailScanner-4.69.9-3.rpm.tar.gz

1.安裝前準備: 需要有gcc ,rpm-build ,perl-MIME-tools 套件

   利用yum 安裝

   指令:  yum install gcc rpm-build perl-MIME-tools 

2. 解壓縮  tar zxvf  MailScanner-4.69.9-3.rpm.tar.gz

3.  切換到  MailScanner-4.69.9-3 目錄 

4.  ./install.sh ( 開始安裝MailScanner ,需要一點時間)

安裝好 MailScanner 後 使用 sendmail 就不需特別設定

設定開機自動啟動MailScanner  —>  指令 chkconfig MailScanner on ( 記得要把sendmail 設定開機不啟動)

安裝mail掃毒軟體 clamav

利用 yum install clamav 安裝即可

設定MailScanner 使用的掃描軟體 修改 /etc/MailScanner/MailScanner.conf

將 Virus Scanners = auto  改為 Virus Scanner = clamav

MailScanner中的白名單設定方法:

設定檔:/etc/MailScanner/rules/spam.whitelist.rules 針對你希望不被標示的範圍進行加註:

要使用白名單功能時請確定下面功能是否有開啟

Is Definitely Not Spam = %rules-dir%/spam.whitelist.rules

常用語法:

From: 針對信件的寄件者進行比對
To: 針對信件的收件者進行比對
FromOrTo: 針對寄件者或收件者進行比對
FromAndTo: 針對寄件者及收件者共同進行比對

比對的樣本

user@sub.domain.com 單一的郵件位址
user@* 單一帳號(不限定領域)
*@*.domain.com domain.com下轄 subdomin下的任何帳號
*@donain.com 特定 domain.com 的任何帳號
192.168. SMTP client IP 範圍 192.168.0.0/16
/^192.168.1[4567]./ SMTP client IP 範圍 192.168.14~17

範例

希望今天所有來自 *@*.mlc.edu.tw 及 *@mlc.edu.tw 的信件都不被標示為spam

值為yes表示不會被標記為spam

From: *@*.mlc.edu.tw yes
From: *@mlc.edu.tw
yes

 

安裝 myspam 廣告管理程式

參考網站 : 酷學園 tommy

需安裝 mysql php  Smarty 等相關套件

用yum 安裝即可  –>  yum -y install php mysql mysql-server php-mysql php-gd php-mbstring

Myspam程式下載點 : myspam

Smarty 程式下載 : http://www.smarty.net/   (我裝的版本是  Smarty-2.6.19.tar.gz)

安裝步驟:

1. 解壓縮myspam 程式 tar zxvf  myspam.tgz

2. 將解開的目錄移動到 /var/www/html/  我是把目錄改成 myspam

3. 將資料表db.sql (此檔案在/var/www/html/myspam/)匯入到 mysql

   順如下

  •   先切換目錄 cd /var/www/html/myspam/
  •   進入mysql指令模式 –> mysql -u root -p (需輸入您的mysql root密碼即可進入)
  • create database spam1; (建立一個資料庫spam1,分號算指令一部份喔)
  • use spam1; (進入資料庫)
  •   . db.sql (匯入資料表)
  •   exit 離開

s1

4. 解壓縮Smarty程式 tar zxvf  Smarty-2.6.19.tar.gz

5.將解開的目錄移動到 /var/www 我是把目錄改成Smarty

6.修改  /var/www/html/myspam/web/config.php (依照自己情況修改)

/ database
$dbhost = ‘your_db_host’;
$dbuser =’your_db_user’;
$dbpass = ‘your_db_password’;
$dbname =’your_db_name’;
// item for each page
$pagesize = 15;
// smtp
$smtp_server = "your_smtp_host";
$smtp_port = 25;
// pop3
$pop3_server = ‘your_pop3_host’;
$pop3_port = 110;
// domain
$mydomain = "your-domain’;
// URL
$spam_url = ‘http://your-domain;
// notspam path
$notspam_path = ‘/var/spool/myspam/notspam/’;

7. 修改 /var/www/html/myspam/web/index.php (依照自己情況修改)

require_once(‘/var/www/html/myspam/web/config.php’);
require_once(‘/var/www/Smarty/libs/Smarty.class.php’);
require_once(‘/var/www/html/myspam/web/lang.php’);
require_once(‘/var/www/html/myspam/web/sendmail.php’);

8. 利用procmail 處理 spam 編輯

    檢查是否有安裝procmail 套件   rpm -qa | grep procmail

    若沒有就請用yum 安裝 yum install procmail  

修改 vi /etc/procmailrc (沒有此檔案自行新增即可)

    內容如下 : ( 參考網站: http://www.laipi.net/index.php?job=category&seekname=3.com.tw)

LOGFILE=/var/log/procmail.log
MAILDIR=/var/mail
:0
* ^X-Spam-Status: Yes
{
:0
* ! ^X-MySPAM: YES
|/usr/bin/php -Cq /website/jlspam/web/index.php save_spam
}
:0 B
* ^X-Spam-Status: Yes
{
:0b
* ^X-MySPAM: YES
$DEFAULT
}
:0
* ^X-MySPAM: YES
$DEFAULT

再來就是啟動apache,看看myspam是否有登入畫面出現

網址 http:// IP/myspam/web/

s2

可利用排程 每日執行 /var/www/html/web/send_notify.sh (記得先修改一下內容程式所在路徑)這樣可以通知USER 有哪些信被攔截

s3

myspam結論 :

小弟使用上目前為止沒有出現大問題,可以有一個小問題還是存在

在廣告列表上的信件大小都是顯示為0,我不會修改,會改的朋友希望您能分享

s4

安裝Mailwatch 管理程式

請參考小弟的另依篇文張 http://blog.pmail.idv.tw/?p=1056

s8



本篇瀏覽人數: 538
本篇發表於 Fedora OS篇。將永久鏈結加入書籤。

發表迴響

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

*

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