日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

邮件服务器方案参考

發布時間:2023/12/10 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 邮件服务器方案参考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
國內私募機構九鼎控股打造APP,來就送?20元現金領取地址:http://jdb.jiudingcapital.com/phone.html
內部邀請碼:C8E245J?(不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。?

?

------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

?

郵件服務器方案參考,如果要做郵件服務器,這里面的信息可以很好的參考下,特別是對郵件的很多方面進行了比較,選擇軟件。

http://wiki.ubuntu.org.cn/index.php?title=IRedMail&variant=zh-cn#MX.E8.AE.B0.E5.BD.95

?

目錄

[隱藏]
  • 1?iRedmail 組件
  • 2?組件的選擇,比較
    • 2.1?MTA Postfix
    • 2.2?MDA Dovecot
    • 2.3?WebMail RoundCube
    • 2.4?Policyd
    • 2.5?OS Ubuntu
    • 2.6?內容過濾 SpamAssassin
    • 2.7?amavisd-new
  • 3?iRedMail 簡介
  • 4?安裝需求
  • 5?準備
    • 5.1?Hostname
    • 5.2?設置源
  • 6?開始安裝iredmail
    • 6.1?LDAP
    • 6.2?MYSQL
  • 7?使用iredmail
    • 7.1?webmail RoundCube
    • 7.2?iRedAdmin
    • 7.3?phpLDAPAdmin
    • 7.4?Awstats
    • 7.5?phpMyAdmin
  • 8?DNS
    • 8.1?MX記錄
    • 8.2?SPF記錄
    • 8.3?DKIM記錄
  • 9?檢查DNS設置
    • 9.1?windows nslookup
    • 9.2?linux dig
    • 9.3?web工具
  • 10?查看LOG
    • 10.1?APACHE
    • 10.2?OPENLDAP
    • 10.3?dovecot
    • 10.4?Sieve
    • 10.5?Postfix
  • 11?郵件客戶端
    • 11.1?Outlook2007
    • 11.2?Outlook 2003
  • 12?FAQ
    • 12.1?郵件服務器同步備份,切換,群集,冗余
    • 12.2?停用灰名單
    • 12.3?修改root的alias
    • 12.4?添加免責聲明
    • 12.5?集成Razor2和Pyzor
    • 12.6?卸載iRedMail
    • 12.7?批量創建用戶
    • 12.8?支持大附件
    • 12.9?集成DNSBL
    • 12.10?停用Amavisd + ClamAV + SpamAssassin
    • 12.11?Fetchmail
    • 12.12?創建新的SSL key
    • 12.13?SPAM郵件進入垃圾箱
    • 12.14?如何修改hostname
    • 12.15?檢測系統的反垃圾和病毒能力
    • 12.16?命令行管理postfix隊列
    • 12.17?命令行測試郵件

[編輯]iRedmail 組件

iRedMail主要是使用下面軟件來構建郵件系統,下面是Ubuntu 10.04的軟件版本。

  • Apache 2.2.x
  • PHP 5.3.x
  • MySQL 5.1.x
  • OpenLDAP 2.4.x
  • Postfix 2.7.x ( MTA )
  • Dovecot 1.2.x
  • Amavisd 2.6.x
  • ClamAV 0.9x
  • SpamAssassin 3.2.x
  • Policyd 1.8.x
  • Pysieved 1.0
  • Roundcube 0.7.2 (Webmail )
  • phpMyAdmin 3.3
  • phpLDAPadmin 1.2
  • Awstats 6.9

組件的工作原理

amavisd-new 在這里的作用主要是:

  • 負責調用 ClamAV 對郵件進行病毒掃描
  • 負責調用 SpamAssassin 對郵件內容進行過濾
  • 實現 DKIM 簽名和驗證功能,還有實現免責聲明的功能。

Postfix組件

全部的組件 (圖片來源?http://workaround.org/ispmail/lenny/bigpicture?)

1: 當郵件發送到服務器的25端口,postfix接受連接,它會做一些基本檢查

  • 發送者是否在黑名單或者實時黑名單,如果在黑名單,馬上拒絕
  • 是否是授權用戶,可以進行轉發
  • 接收者是否是服務器的用戶,如果不是,馬上拒絕
  • 如果我們啟用的灰名單,那么會拒絕郵件或者接收

2:postfix 把郵件通過10024端口交給amavis來處理,注意amavis,只會檢查郵件而不會丟棄或者拒絕郵件。

3:amavis調用SpamAssassin檢查郵件是否是spam,如果SpamAssassin認為郵件是垃圾郵件,會給郵件打上標記spam

4:amavis調用ClamAV,看郵件是否含有病毒

5:amavis把檢查完的郵件,通過10025端口重新把郵件交回給postfix

6:postfix把郵件交給LDA(local delivery agent),LDA是負責本地郵件投放到用戶的郵箱,(我們這里使用dovecot提供的LDA功能,而不是postfix提供的LDA)郵件會進入用戶的郵箱,Dovecot會執行用戶設置的filter,也就是Dovecot通過調用Sieve,放到相關的文件夾

7:Dovecot 把郵件以maildir的方式存放在硬盤上。

8: 用戶使用郵件客戶端,通過pop3或imap協議進行連接。webmail RoundCube,是通過imap的方式來讀取郵件。

[編輯]組件的選擇,比較

linux下,對于開源軟件來說,沒有所謂像windows一樣的郵件系統,你可以選擇不同的組件,組成一個郵件系統,對于郵件來說,要實現一個功能,可能有多種組件,到底哪個最好,不同的組件間的如何搭配、組合,是一件非常頭疼的事情。

網上的文檔,組合也是非常多樣,到底哪種是最好或者更優?文檔不會介紹為什么選擇這個組件的理由。一般的管理員很難判斷。下面就是iRedMail選擇組件的理由。

大家也可以參考這位老外的文章:http://workaround.org/ispmail?如果你細心查看這篇文檔的幾個版本,就會發現他的組件的不同和改進?,F在他的組件,已經基本和iredmail是一樣。從另外一個角度證明iRedMail的組件選擇,是可以經得起考驗的??梢钥隙ㄒ稽c就是目前iredmail的功能,性能會比你照這個文檔配置的效果更好。

?

[編輯]MTA Postfix

linux比較有名的4大MTA,如果從功能上,應該都是可以滿足你的需求,詳細的比較,大家可以閱讀http://shearer.org/MTA_Comparison

  • Sendmail

MTA軟件的很多先進功能都是在Sendmail上最先實現的。但Sendmail也有典型的歷史問題,主要是整個程序的沒有實現良好的模塊化,運行時需要SID權限,以及配置文件復雜難懂。這些是阻礙Sendmail更好普及應用的一些客觀問題。

  • Qmail

Qmail是新生一代的MTA代表,實現了模塊化設計,避免了SID問題,基本功能齊全,配置較Sendmail簡單,而且用戶也很廣泛。但Qmail從2002年開發工作基本停止,版本停止更新,只能通過第三方的補丁來實現更多的功能,補丁程序也相對零亂,這些都是長期使用Qmail的用戶或者郵件服務提供商不得不認真考慮的問題。另外,Qmail的擴展性并不是很好,經常需要補丁來完成功能的擴展。

  • Exim

Ubuntu缺省的MTA,應該是非常不錯,不過國內用戶不多。

  • Postfix

Postfix在設計上可以說是最為優美的,其實現了良好的模塊化,郵件的處理流程是通過調用各個功能模塊來完成,在效率、功能、可用性、擴展及安全等方面都考慮得比較充分。

[編輯]MDA Dovecot

pop和imap的服務器,有Dovecot 和Courier 作為選擇。目前很多教程,都是采用Courier,只是因為Courier文檔比較多,歷史比較久。

如果你關注一下,國外很多歷史比較久郵件系統的方案,都開始從Courier轉到Dovecot上。

Dovecot從2002年發布以來,性能遠遠超越Courier。

Postfix可以直接使用Dovecot的后臺認證,不需要分開配置。(如果使用Courier,我們必須安裝配置額外的認證軟件,比如Saslauthd,配置這個,會是一個噩夢,如果出現問題,很難排錯),并且Dovecot,可以很方便實現磁盤配額的功能。

Dovecot作為Courier的可替換組件,Dovecot在磁盤讀寫量上比Courier減少25%左右,內存占用也比Courier節省10%到70%不等。

http://www.cnbeta.com/articles/72682.htm

大家會發現,很多文檔里,如果使用Counier,會介紹使用maildrop 作為LDA,也就是postfix把郵件交給maildrop,他負責投遞到用戶的郵箱。

如果我們使用Dovecot,那么就可以直接使用Dovecot帶的LDA就可以。不需要額外的軟件。

所以作為構建一個新的郵件服務器,Dovecot,肯定是最佳的選擇,這個應該沒有什么異議。

[編輯]WebMail RoundCube

對于郵件系統來說,webmail是必不可少,修改密碼,自動回復這些工作,必須登錄webmail來設置。 開源的webmail,其實選擇也很多。

  • SquirrelMail
  • horde
  • Extmail
  • atmail
  • openwebmail
  • RoundCube

RoundCube,算是webmail里后起之秀,從2005年開發發布。目前最新的版本0.51,已經支持插件的機制?,F在開發的插件的社區很活躍。如果把所有的插件都裝起來,那肯定是無敵。

對于開源的webmail,有一個很困惑國人的需求,當你在寫郵件的時候,希望選擇從通訊錄里選擇聯系人。這個以前在任何的開源webmail里都是無法實現,甚至google的gmail也是最近才實現這個功能。

RoundCube 通過插件,已經完美實現了這個功能。

[編輯]Policyd

灰名單,是對付垃圾郵件的一個有效的手段,很多文檔介紹使用PostGrey來實現灰名單的功能。

Policyd,不但有灰名單的功能,還提供很多別的功能,可以大大提高反垃圾郵件的效果。有一點要注意的,目前iRedMail 使用的是policyd1.8的版本。大家可以參考?http://policyd.sourceforge.net/readme.html

[編輯]OS Ubuntu

iRedMail 有一個重要的設計原則,盡可能使用發行版提供的包,尤其是官方提供技術支持和安全更新的包,這樣做的好處是很明顯。

  • 升級方便
  • 安全更新有保證


iRedMail目前支持RedHat,Debian,Ubuntu和Freebsd幾個發行版,Ubuntu軟件包的支持是最好的,從Ubuntu9.04開始,iRedmail,就基本全部采用Ubuntu官方提供支持和更新的軟件包來構建整個郵件系統,除了幾個web管理程序以外(web管理程序,你可以不使用)。

已經有用戶,順利從9.04升級到9.10,郵件系統,沒有任何影響。在未來的10.04,也是不會受到任何的影響,這就是iRedMail 和Ubuntu結合強大的地方。

可以這樣理解,使用Ubuntu提供的郵件相關的軟件包,裝完后,用iRedMail 的安裝腳本,快速幫助你按照那些幾十頁的技術文檔,1分鐘內完成全部的配置。

很多用戶經常問一個問題:如果iRedMail項目停止,我怎么辦,以后升級怎么辦?其實如果你使用任何的郵件系統,都可能會有這樣的風險。

不過使用iredmail,就會例外,因為只有一種情況,Ubuntu停止開發,你才會受影響。只要Ubuntu,繼續發展,你的郵件系統,就可以繼續更新。因為你的所有的軟件包,都是Ubuntu官方的提供的,他們是會保證持續更新和安全漏洞的修復。

?

[編輯]內容過濾 SpamAssassin

防垃圾郵件,是郵件系統的基本功能,SpamAssassin,是最有名的,尤其是和Amavisd ClamAV結合起來,這是一個經得起考慮的組合。

對于內容過濾,其實還有一個選擇:dspam,我沒有使用過dspam,無法具體評價。

目前從iRedMail的客戶部署情況,基本沒有用戶反映垃圾郵件過濾有問題。

SpamAssassin怎么管理,有后臺可以登錄嗎?

[編輯]amavisd-new

amavisd-new,可以理解成一個代理,Postfix把郵件交給他,他負責聯系殺毒和反垃圾。

amavisd-new 在這里的作用主要是:

* 負責調用 ClamAV 對郵件進行病毒掃描* 負責調用 SpamAssassin 對郵件內容進行過濾

如果大家看文檔,還會發現有人使用maildrop,通過maildrop,maildrop也可以調用spamassassin和clamav,實現類似amavisd-new的功能。

大家可以閱讀下面的文檔,這是老外使用amavisd-new,ClamAV SpamAssassin的技術文檔,那么就會明白為什么iredmail會選擇這amavisd-new。http://www200.pair.com/mecham/spam/

[編輯]iRedMail 簡介

iRedMail 是一套基于 GPL 發布的 Shell 腳本,目的是全自動安裝和配置郵件服務所需要的組件,以減輕系統管理員的負擔。它提供了一個基本的命令行下的用戶交互界面(使用 dialog 程序實現),用戶只需要簡單地選擇他所希望使用的組件,就可以在幾分鐘內(少于 3 分鐘)部署好一臺功能強大的郵件服務器。

iRedmail 使用到的郵件相關的軟件包,都是采用發行版提供的軟件包。

  • iRedMail 官方中文支持論壇?http://www.iredmail.org/bbs
  • 代碼下載?http://code.google.com/iredmail

[編輯]安裝需求

iRedMail 目前支持以下Ubuntu版本:

OSVersionPlatformiRedMail Version
Ubuntu (presise, 12.04)12.04i386, amd64>= 0.8.0
Ubuntu (Luicd,11.04)10.04i386, amd64>= 0.6.1
  • 生產中部署至少需要512MB 內存.

Downloading Ubuntu CD/DVD images via HTTP/FTP

[編輯]準備

[編輯]Hostname

這里說的 hostname 是指使用 'hostname -f' 命令打印出來的系統主機名,例如:

?

$ hostname -fmail.example.com


不管您的 Linux 系統是否作為公網服務器,我們都強烈建議您設置一個合適的主機名。

在 Ubuntu 系統中,主機名的設置涉及到兩個文件:

  • /etc/hostname: hostname 設置
  • /etc/hosts: hostname <=> IP 地址對應
  • 用你熟悉的編輯器編輯 /etc/hostname 文件

    $cat /etc/hostname mail

    編輯 / /etc/hosts 文件

    $cat /etc/hosts 127.0.0.1 mail.example.com mail localhost.localdomain localhost

    檢查FQDN Name設置,

    讓hostname修改馬上生效

    #hostname -F /etc/hostname # hostname -f mail.example.com

    [編輯]設置源

    只需要相應的發行版的'main' 和 'universe' , 使用安裝系統的時候ubuntu缺省的源,就可以了。

    [編輯]開始安裝iredmail

    • 切換到root用戶
    # sudo su -
    • 下載最新版本的iredmail,解壓
    #wget http://iredmail.googlecode.com/files/iRedMail-0.7.0.tar.bz2#tar jxvf iRedMail-0.7.0.tar.bz2 #cd iRedMail-0.7.0 #bash iRedMail.sh

    ?

    • 可以開始執行主腳本,它會調用 'dialog' 程序引導用戶配置郵件服務器

    ?

    • iRedMail 安裝進程的歡迎頁面

    • 選擇用于存儲所有郵件的目錄(注意:由于所有郵件都將存儲在這個目錄,所以這個目錄需要占用較多的磁盤空間)

    [編輯]LDAP

    ldap圖解

    [編輯]MYSQL

    mysql安裝圖解

    [編輯]使用iredmail

    安裝完成后,一定要仔細閱讀iredmail.tip,里面包括設置信息和帳號,下面各個應用的訪問路徑。這個是本安裝的范例 (http://code.google.com/p/iredmail/source/browse/extra/iRedMail.tips?)

    • mysql 存儲虛擬用戶和domain 我們通過iRedAdmin 進行郵件domain,用戶管理
    • mysql 管理,可以通過phpmyadmin管理
    • LDAP 存儲虛擬用戶和domain,我們通過iRedAdmin進行郵件domain,用戶管理
    • LDAP 的管理,可以通過phpldapadmin管理

    ?

    [編輯]webmail RoundCube

    • 可以使用http://your_server/mail/?(or /webmail, /roundcube)訪問webmail (注意,postmaster不是郵箱用戶,不能登陸)

    • 由于www@example.com是root的alias,所以會受到系統發的郵件,請細心閱讀這兩封郵件,iredmail.tip 包含所有的郵件設置的相關信息。

    • 設置假期外出,需要新建過濾器

    • 全局地址簿 (LDAP)

    [編輯]iRedAdmin

    iRedAdmin開源版本是iredmail官方開發郵件后臺管理,目前可以同時管理ldap和mysql。

    大家也可以通過iredmail官方提供的demo (http://www.iredmail.org/admin_demo.html?) 深入了解iredadmin

    • 登錄iRedAdmin

    可以使用https://your_server/iredadmin?訪問iredadmin (注意是 https )

    • 修改語言

    • 控制臺

    • 域名管理

    • 添加domain

    • 用戶管理,添加用戶

    • 管理員管理 添加管理員

    [編輯]phpLDAPAdmin

    可以使用https://your_server/ldap?訪問iredadmin (注意是 https )

    • 登錄phpLDAPAdmin

    ?

    • 查看ldap

    [編輯]Awstats

    可以使用https://your_server/awstats/awstats.pl?訪問Awstats (注意是 https )

    ?

    • 登錄Awstats

    • 如果希望查看郵件的流量,你需要修改你的鏈接,(https://your_server/awstats/awstats.pl?config=mail?) 在上面鏈接加上??config=mail

    [編輯]phpMyAdmin

    可以使用https://your_server/phpmyadmin?訪問phpMyAdmin (注意是 https )

    [編輯]DNS

    DNS記錄,需要你到你的域名托管商那里進行設置或者你自己管理DNS服務器。不少域名托管商不支持txt記錄或者不支持DKIM記錄,所以你就無法使用SPF和DKIM的功能。

    DNS的修改,需要48小時以上才能生效。

    國內的萬網是不支持DKIM,目前新網是支持SPF和DKIM

    ?

    [編輯]MX記錄

    郵件的MX記錄最好是指向機器A記錄,盡量不要直接指向IP地址(不符合規范)。

    • 添加A記錄

    mail.example.com 192.168.1.100

    • 添加MX記錄

    example.com mail.example.com

    [編輯]SPF記錄

    • SPF 記錄指向A主機記錄
    example.com. 3600 IN TXT "v=spf1 mx mx:mail.example.com -all"
    • SPF 記錄指向IP地址
    example.com. 3600 IN TXT "v=spf1 ip4:192.168.1.100 -all"

    [編輯]DKIM記錄

    可以通過iredmail.tips 獲得域名的DKIM,也可以在命令行下輸入

    # amavisd-new showkeys ; key#1, domain example.com, /var/lib/dkim/example.com.pem dkim._domainkey.example.com. 3600 TXT ("v=DKIM1; p=""MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGNVMuQRKqYeySIzqTGTm3xRzF""/ZzhmMnpZkEcVVjFAk+t7E388oFGu/knyh6KBKwpZxHUN5HoOYVjMudqaR2FcSvK""z+joFj8Vh3rXoTLa1zHDyfD7hICzxdEgmQZ8MJM5rjPPrRGZXnPowNYDsd6nDJ86""N38iFYU+jALBYDLBwQIDAQAB")

    把上面記錄添加到ISP的DNS記錄

    dkim._domainkey.example.com. v=DKIM1; p=MIGfMA0....(省略)DLBwQIDAQAB


    添加完DNS記錄后,如果記錄生效,可以通過運行命令檢測

    # amavisd-new testkeys TESTING: dkim._domainkey.example.com => pass

    ?

    [編輯]檢查DNS設置

    下面有幾種方法,可以幫助你檢測DNS是否設置生效和正常工作

    [編輯]windows nslookup

    C:\>nslookup Default Server: unknown Address: 192.168.1.1> server 4.2.2.1 Default Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1> set type=mx > example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: example.com MX preference = 20, mail exchanger = mail.example.com > set type=txt > example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: example.com text ="v=spf1 ip4:192.168.1.100 -all"> dkim._domainkey.example.com Server: vnsc-pri.sys.gtei.net Address: 4.2.2.1Non-authoritative answer: dkim._domainkey.example.com text ="v=DKIM1; p= MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsgZaIvYHAos2jbp3CHW0 AwrTnAEwV1p4EaZP/JuF8t1BETBVg6WJr3YWN5ijCpi9vnw96nmf/u5MgtbLwZ+AzDBkbOY7Jbb/hIO+ mpmmfdJAY3w8KoXLCuQKDysXOys45YtfJEj66s51EHH3W+iXPYw3I/NWHjY3a5/mXnk4XJQIDAQAB"

    [編輯]linux dig

    如果你的機器沒有dig命令,你需要安裝

    apt-get install dnsutils

    這個時候,就可以使用dig命令

    • MX記錄
    # host exmple.com example.com has address 192.168.1.100 example.com mail is handled by 10 mail.example.com.

    ?

    • SPF記錄
    # dig txt hotmail.com; <<>> DiG 9.4.2-P2 <<>> txt hotmail.com ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43130 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION: ;hotmail.com. IN TXT;; ANSWER SECTION: hotmail.com. 3600 IN TXT "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com include:spf-c.hotmail.com include:spf-d.hotmail.com ~all";; Query time: 176 msec ;; SERVER: 64.71.161.8#53(64.71.161.8) ;; WHEN: Sat Dec 5 08:43:51 2009 ;; MSG SIZE rcvd: 157
    • DKIM記錄
    #dig txt dkim._domainkey.example.com

    [編輯]web工具

    • 黑名單檢查

    http://www.mxtoolbox.com/

    通過這個不但可以檢查各種DNS設置,還可以檢測到你的IP地址,是否已經給列入黑名單。

    • 檢測MX記錄

    http://zmailer.org/mxverify.html

    • 檢測SPF記錄

    http://www.openspf.org/

    • 測試spf和dkim記錄

    http://www.brandonchecketts.com/emailtest.php

    網頁里有一個郵箱地址,你可以通過安裝過程中創建的第一個用戶www,發送郵件給這個測試郵箱,你就可以馬上看到結果

    • 發郵件到gmail

    查看發送過去的郵件的源碼, 如果顯示 dkim=pass 和 SPF: pass 就表示正常

    Received-SPF: pass (google.com: domain of www@example.com designates 66.160.197.199 as permitted sender) client-ip=66.160.197.199; Authentication-Results: mx.google.com; spf=pass (google.com: domain of www@example.com designates 66.160.197.199 as permitted sender) smtp.mail=www@example.com; dkim=pass header.i=@example.com

    [編輯]查看LOG

    Linux下,如果出現問題,那么排錯最佳的方式就是查看log,不過為了性能,有些應用,缺省下沒有開啟錯誤log,我們需要啟用。

    [編輯]APACHE

    # tail /var/log/apache2/error.log #查看log# tail -0f /var/log/apache2/error.log #實時查看log

    ?

    [編輯]OPENLDAP

    當你采用ldap來驗證用戶,當用戶登錄出現問題的時候,你就需要查看ldap的log,看那個地方出錯。

    • 缺省的情況下,openldap的log沒有啟用,我們需要修改配置文件 /etc/ldap/slapd.conf
    loglevel 256 # <-- change form 0 to 256
    • 重新啟動LDAP服務
    /etc/init.d/slapd restart
    • 查看log
    tail /var/log/openldap.log

    [編輯]dovecot

    當接收郵件有問題的時候,我們需要查看dovecot的log,

    • 編輯/etc/dovecot/dovecot.conf
    mail_debug = yes #把注釋去掉
    • 從新啟動dovecot服務
    # /etc/init.d/dovecot restart
    • 查看log
    # tail /var/log/dovecot.log

    [編輯]Sieve

    當RoundCube里過濾器不工作或者有問題的情況下,你就需要查看sieve的log

    # tail /var/log/sieve.log

    [編輯]Postfix

    查看郵件發送的問題,就需要查看posfix Log

    #tail /var/log/mail.log

    Postfix 排錯,還可以通過Postfix提供郵件隊例隊列管理工具:

    ?

    postqueue -p 列出隊列里的所有郵件 postsuper -d ID 刪除一封郵件 postsuper -d ALL 刪除所有郵件 postsuper –h ID 保留郵件 postsuper -r ALL 重新排例 postcat -q ID 顯示郵件內容 postqueue -f 清空郵件

    ?

    [編輯]郵件客戶端

    iRedmail提供pop,imap和pops,imaps的連接,可以根據需要選擇采用哪種方式

    ?

    ProtocolUnencrypted portTLS PortSSL Port
    SMTP25587465
    POP3110110995
    IMAP143143993

    [編輯]Outlook2007

    Outlook2007設置圖解

    [編輯]Outlook 2003

    • pop3 非加密

    這個設置和outlook 2007是一樣,參考上面設置就可以, pop使用110,smtp是25

    • pop3 加密

    注意端口,這是和outlook2007不同的地方,outlook2003 只支持SSL,導入證書,可以參考上面設置

    • imap 非加密

    這個和2007設置是一樣,imap是143,smtp是25

    • imap 加密

    [編輯]FAQ

    這個faq會不定期更新,最新的FAQ,大家可以直接訪問?http://www.iredmail.org/faq.html

    [編輯]郵件服務器同步備份,切換,群集,冗余

    郵件系統的備份,可以考慮采用rsync, unison,如果數據量大,可以參考文章?http://blog.daviesliu.net/2008/04/24/sync/

    實現郵件的群集,有很多方案,一般可以分為

    采用共享存儲 (多臺服務器)負載均衡,每臺服務器都在工作。通過這種方式,可以實現支撐更多的用戶。

    沒有共享存儲 (兩臺服務器)實現冗余,一臺機器是閑著。

    你可以把iredmail部署到這兩種方案上,iRedMail官方網站提供這兩種方案的技術支持。

    • 采用共享存儲,一般都是利用lvs

    • 不采用共享存儲,就可以采用DRBD+heardbeat 的方案

    DRBD,簡單理解,就是網絡的raid1,實現兩臺服務器的鏡像。具體的配置過程,大家可以參考?http://www.iredmail.org/bbs/topic1298-view.html


    [編輯]停用灰名單

    灰名單,是有效阻止垃圾郵件的手段,原理是當一個新的郵箱地址發郵件過來,都會先拒絕2次,然后第三次才會接收下來。一般發垃圾郵件的人,因為隊列太長,就不會再嘗試投遞。

    灰名單會導致第一次發送延遲,不過第二次以后就沒有問題。如果希望停止灰名單

    編輯/etc/postfix-policyd.conf

    # 1=on 0=off GREYLISTING=0 #把1改成0

    重新啟動policy服務

    # /etc/init.d/postfix-policyd restart

    [編輯]修改root的alias

    iRedmail的安裝過程,我們設置了root的alias,如果我們希望修改郵箱地址。

    編輯/etc/postfix/aliases 改成你需要的郵箱地址。以后系統的警告郵件就會發送到新的郵箱。

    # See man 5 aliases for format postmaster: root clamav: root root: www@18demo.com policyd: www@18demo.com amavis: root

    修改后,需要運行下面命令才可以生效。

    # postalias /etc/postfix/aliases

    這個時候可以測試一下,給root發一封郵件,是否生效

    cd iRedMail-0.5.1 mail -s "test" root < iRedMail.tips

    [編輯]添加免責聲明

    iRedmail 是通過Amavisd-new + alterMIME 實現出站的郵件都添加免責聲明。alterMIME支持Per-domain,Sub-domain,Per-user添加免責聲明,同時支持txt和html格式。缺省情況下,iRedMail沒有啟用。

    • 編輯 /etc/amavis/conf.d/50-user 把注釋去掉。啟用免責聲明的功能
    # ------------ Disclaimer Setting --------------- # Uncomment this line to enable singing disclaimer in outgoing mails. $defang_maps_by_ccat{+CC_CATCHALL} = [ 'disclaimer' ]; #把注釋去掉
    • 創建一個test免責聲明,這個聲明會添加到所有的郵件里。如果希望每個domain或者每個用戶不同聲明,那么可以單獨添加免責聲明。存放的路徑是/etc/postfix/disclaimer/
    #echo 'Testing disclaimer.' > /etc/postfix/disclaimer/default.txt
    • 重啟amavisd服務
    # /etc/init.d/amavis restart

    這個時候,所有往外發送的郵件,都會在底部加上 'Testing disclaimer.'

    ?

    [編輯]集成Razor2和Pyzor

    • 打開防火墻端口

    Razor2:必須打開防火墻端口 2307/TCP

    pyzor: 必須打開防火墻端口 24441/UDP

    編輯/etc/default/iptables 文件

    # http/https, smtp/smtps, pop3/pop3s, imap/imaps, ssh -A INPUT -p tcp -m multiport --dport 80,443,25,465,110,995,143,993,587, 465,22,2307,24441 -j ACCEPT # <-- Add 2307 24441

    重啟iptables服務

    # /etc/init.d/iptables restart
    • 安裝Razor2
    root@mail:~# apt-get install razor Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed:razor 0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded. Need to get 125kB of archives. After this operation, 549kB of additional disk space will be used. Get:1 http://archive.ubuntu.com jaunty/universe razor 1:2.85-1 [125kB] Fetched 125kB in 1s (99.4kB/s) Selecting previously deselected package razor. (Reading database ... 23030 files and directories currently installed.) Unpacking razor (from .../razor_1%3a2.85-1_amd64.deb) ... Setting up razor (1:2.85-1) ...
    • 設置Razor2
    root@mail:~# mkdir /var/lib/amavis/.razor; chown -Rf amavis:amavis /var/lib/amavis/.razorroot@mail:~# root@mail:~# su amavis $ razor-admin -home=/var/lib/amavis/.razor -create $ razor-admin -home=/var/lib/amavis/.razor -discover $ razor-admin -home=/var/lib/amavis/.razor -register Register successful. Identity stored in /var/lib/amavis/.razor/identity-rupCWQ7Auy $ exit
    • 安裝Pyzor
    # apt-get install pyzor Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed:python-gdbm Suggested packages:python-gdbm-dbg The following NEW packages will be installed:python-gdbm pyzor 0 upgraded, 2 newly installed, 0 to remove and 24 not upgraded. Need to get 56.3kB of archives. After this operation, 336kB of additional disk space will be used. Do you want to continue [Y/n]? y Get:1 http://archive.ubuntu.com jaunty/main python-gdbm 2.6.2-0ubuntu1 [18.5kB] Get:2 http://archive.ubuntu.com jaunty/universe pyzor 1:0.4.0+cvs20030201-8 [37.8kB] Fetched 56.3kB in 0s (57.4kB/s) Selecting previously deselected package python-gdbm. (Reading database ... 23094 files and directories currently installed.) Unpacking python-gdbm (from .../python-gdbm_2.6.2-0ubuntu1_amd64.deb) ... Selecting previously deselected package pyzor. Unpacking pyzor (from .../pyzor_1%3a0.4.0+cvs20030201-8_all.deb) ... Setting up python-gdbm (2.6.2-0ubuntu1) ... Setting up pyzor (1:0.4.0+cvs20030201-8) ...
    • 設置pyzor
    # mkdir /var/lib/amavis/.pyzor; chown amavis:amavis /var/lib/amavis/.pyzor # su amavis $ pyzor --homedir /var/lib/amavis/.pyzor discover /var/lib/python-support/python2.6/pyzor/__init__.py:11: DeprecationWarning: the sha module is deprecated; use the hashlib module insteadimport sha /var/lib/python-support/python2.6/pyzor/client.py:10: DeprecationWarning: the multifile module has been deprecated since Python 2.5import multifile downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x $ exit
    • 編輯/etc/spamassassin/local.cf 在最末尾添加下面內容
    use_razor2 1 score RAZOR2_CHECK 2.500 score PYZOR_CHECK 2.500
    • 重啟amavis服務
    # /etc/init.d/amavis restart

    [編輯]卸載iRedMail

    當你希望卸載或者重新安裝iredmail,那么可以利用iRedMail提供的工具,快速卸載iredmail各個組件,進行重新安裝

    # cd iRedMail-0.5.1/tools/ # bash clear_iredmail.sh

    按照提示進行就可以,當你重新安裝的時候,你還是需要運行下載腳本,再運行安裝腳本。

    [編輯]批量創建用戶

    iRedMail提供腳本,可以讓用戶快速添加用戶

    • MYSQL

    你可以編輯create_mail_user_MySQL.sh,修改默認值,如果你安裝的時候修改的郵件的存儲路徑,那么你必須修改腳本的 STORAGE_BASE_DIRECTORY

    創建郵箱用戶的缺省密碼是和用戶名相同

    ?

    # cd iRedMail-0.5.1/tools/ # bash create_mail_user_MySQL.sh exmple.com user1 user2 user3

    這個時候,會創建output.sql 文件

    # mysql -uroot -p mysql> USE vmail; mysql> SOURCE /path/to/output.sql;

    ?

    • LDAP

    使用create_mail_user_OpenLDAP.sh腳本,可以快速創建ldap的郵件用戶,我們需要修改腳本

    創建郵箱用戶的缺省密碼是和用戶名相同

    STORAGE_BASE_DIRECTORY="/var/vmail/vmail01" #如果你安裝的時候修改的郵件的存儲路徑 LDAP_SUFFIX="dc=iredmail,dc=org" #你的ldap SUFFIX BINDPW='passwd' #ldap管理員cn=manager 密碼

    運行腳本,創建用戶

    # bash create_mail_user_OpenLDAP.sh example.com user1 user2

    ?

    [編輯]支持大附件

    要注意的是:下面的設置,是可以讓你的服務器是可以發送大附件,也需要對方的服務器能夠接收大附件,否則還是無法發送出去。

    • 客戶端發送大附件

    如果你是希望郵件客戶端發送大附件,那么你只需要運行

    ?

    # postconf -e message_size_limit='104857600' #把附件增加到100m

    重啟postfix服務

    # /etc/init.d/postfix restart
    • webmail

    如果希望webmail,發送大附件,那么你還需要多修改2個地方

    1:編輯/etc/php5/apache2/php.ini 文件

    upload_max_filesize = 100M; post_max_size = 100M;

    2:修改/usr/share/apache2/roundcube/.htaccess 文件

    ?

    php_value upload_max_filesize 100M php_value post_max_size 100M

    重啟apache服務

    # /etc/init.d/apache2 restart

    [編輯]集成DNSBL

    編輯/etc/postfix/main.cf 文件,在smtpd_recipient_restrictions 下添加下面內容

    ?

    smtpd_recipient_restrictions =reject_unknown_sender_domain,reject_unknown_recipient_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unlisted_recipient,permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,check_policy_service inet:127.0.0.1:10031##添加下面內容reject_rhsbl_sender dsn.rfc-ignorant.org, reject_rbl_client dnsbl.njabl.org, reject_rbl_client dnsbl.ahbl.org,reject_rbl_client bl.spamcop.net,reject_rbl_client zen.spamhaus.org,

    重啟postfix服務

    # /etc/init.d/postfix reload

    ?

    [編輯]停用Amavisd + ClamAV + SpamAssassin

    如果希望停用殺毒和發垃圾的功能,編輯/etc/postfix/main.cf 文件,到把最底下的這行注釋掉

    content_filter = smtp-amavis:[127.0.0.1]:10024

    這個時候,postfix接收到的郵件,就不會再交給amavis處理,就可以把amavisd, clamd, freshclam服務停止。不過要注意的是這個時候DKIM的功能,也是無法使用,因為iredmail的DKIM是通過amavis來實現的。

    rolaod postifx服務

    #update-rc.d amavis purge #update-rc.d clamav purge # /etc/init.d/postfix reload

    [編輯]Fetchmail

    目前iRedMail還沒有集成fetchmail的功能,如果你需要使用fetchmail,你可以自己集成

    • 安裝fetchmail
    apt-get install fetchmail
    • 設置fetchmail daemon運行修改/etc/default/fetchmail 文件
    START_DAEMON=yes #把no改為yes
    • 創建/etc/fetchmailrc 文件,添加下面的內容
    set daemon 300 #5分鐘取一次郵件 set syslog set postmaster rootset no bouncemail defaults: timeout 300 antispam -1 batchlimit 100#用戶:shakechen 也可以是 shakechen@126.com 密碼是:12345678 本地的郵箱:www@18demo.compoll pop3.126.com protocol POP3 user shakechen there with password 12345678 is www@18demo.com here

    最后一行意思是把126郵箱里的用戶的郵件,投遞到本地的郵箱帳號 www@18demo.com

    • 設置/etc/fetchmailrc 文件權限
    chmod 600 /etc/fetchmailrc chown fetchmail /etc/fetchmailrc
    • 重啟服務
    /etc/init.d/fetchmail start
    • 查看log
    # tail /var/log/syslog Dec 7 16:01:36 mail fetchmail[4179]: 723 messages (723 seen) for shakechen at pop3.126.com (36923210 octets). Dec 7 16:01:37 mail fetchmail[4179]: sleeping at Mon Dec 7 16:01:37 2009 for 30 seconds Dec 7 16:02:07 mail fetchmail[4179]: awakened at Mon Dec 7 16:02:07 2009 Dec 7 16:02:08 mail fetchmail[4179]: 723 messages (723 seen) for shakechen at pop3.126.com (36923210 octets). Dec 7 16:02:09 mail fetchmail[4179]: sleeping at Mon Dec 7 16:02:09 2009 for 30 seconds

    ?

    [編輯]創建新的SSL key

    如果你修改了計算機名字或者希望使用自己的信息創建自己的ssl key。

    • 下載iredmail提供的腳本
    # wget http://iredmail.googlecode.com/hg/iRedMail/tools/generate_ssl_keys.sh
    • 編輯腳本里的你希望修改的相關信息
    # SSL key. export SSL_CERT_FILE="${ROOTDIR}/certs/iRedMail_CA.pem" export SSL_KEY_FILE="${ROOTDIR}/private/iRedMail.key" export TLS_COUNTRY='CN' export TLS_STATE='GuangDong' export TLS_CITY='ShenZhen' export TLS_COMPANY="${HOSTNAME}" export TLS_DEPARTMENT='IT' export TLS_HOSTNAME="${HOSTNAME}" export TLS_ADMIN="root@${HOSTNAME}"
    • 執行腳本
    # bash generate_ssl_keys.sh SSL keys were generated:- /root/certs/iRedMail_CA.pem- /root/private/iRedMail.key
    • 把以前的證書備份一下,把新證書復制到下面兩個目錄下。
    /etc/ssl/private/iRedMail.key /etc/ssl/certs/iRedMail_CA.pem

    [編輯]SPAM郵件進入垃圾箱

    如果用戶是使用郵件客戶端,是無法收取到junk的郵件,所以iredmail缺省是讓spam的郵件進入收件箱。如果我們希望讓spam的郵件,不進入收件箱,直接存在垃圾郵箱的文件夾里。

    # cd /var/vmail/sieve # cp dovecot.sieve.sample dovecot.sieve
    • 重啟dovecot 服務
    # /etc/init.d/dovecot restart

    [編輯]如何修改hostname

    如果我們裝完iremdail后,希望修改hostname(FQDN),那么我們需要修改下面相關的內容。

  • 修改hostname in /etc/hostname and /etc/hosts
  • 產生新的證書 參考上面的faq
  • 修改 hostname in amavis.conf
  • 修改 hostname in dovecot-quota-warning.sh
  • 修改 hostname in posfix/main.cf
  • cp -Rf /etc /var/spool/postfix
  • [編輯]檢測系統的反垃圾和病毒能力

    裝好系統后,如何評估系統的發垃圾和病毒能力?總不能自己給自己發垃圾郵件和病毒郵件吧。

    http://www.gfi.com/emailsecuritytest/

    我們可以通過GFI來測試我們郵件系統的發垃圾和病毒能力。

    當你的郵箱驗證通過后,他會發送垃圾郵件和病毒郵件到你的郵箱,你就可以檢測到郵件系統的反垃圾和病毒查殺能力。

    http://www.antispam-ufrj.pads.ufrj.br/

    測試郵件服務器是否被設成公開轉發站

    http://www.abuse.net/relay.html

    [編輯]命令行管理postfix隊列

    • 查看隊列
    postqueue -p
    • 刪除隊列郵件根據ID
    postsuper -d MessageID
    • 根據發送者來刪除隊列郵件,替換 “info@otherdomain.com”就可以
    mailq | tail +2 | awk ‘BEGIN { RS = “” } # $7=sender, $8=recipient1, $9=recipient2 { if ($7 == “info@otherdomain.com” && $9 == “”) print $1 } ‘ | tr -d ‘*!’ | postsuper -d -
    • 根據收件人刪除,替換you@yourdomain.com 就可以
    mailq | tail +2 | awk ‘BEGIN { RS = “” } # $7=sender, $8=recipient1, $9=recipient2 { if ($8 == “you@yourdomain.com” && $9 == “”) print $1 } ‘ | tr -d ‘*!’ | postsuper -d -
    • 根據發生服務器的hostname來刪除,替換掉 senderhostname
    mailq | grep senderhostname | awk ‘{ print $1′} | postsuper -d -
    • 如果當前的系統隊列很長,負擔很重,我們可以把隊列里的郵件先hold
    postsuper -h ALL

    當處理完后,再把隊列移回來

    postsuper -r ALL

    參考文章?http://www.faqforge.com/linux/server/manage-the-postfix-mailqueue-with-postsuper-postqueue-und-mailq/

    ?

    [編輯]命令行測試郵件

    測試郵件,可以用客戶端, 也可以使用命令行測試,這樣更加直接.

    • BASE64編碼的用戶名密碼

    我們需要把我們的登錄帳號和密碼一起編碼
    user:www@example.com
    pass: iredmail

    # perl -MMIME::Base64 -e 'print encode_base64("www\@example.com\0www\@example.com\0iredmail")'; d3d3QGV4YW1wbGUuY29tAHd3d0BleGFtcGxlLmNvbQBpcmVkbWFpbA==
    • SMTP 登錄并發送郵件
    # telnet localhost 25 #在服務器上telnet到本地,下面的是正常輸出 Trying?::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 u910.example.com ESMTP iRedMail (Ubuntu) ehlo example.com #握手 250-u910.example.com 250-PIPELINING 250-SIZE 15728640 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN auth plain d3d3QGV4YW1wbGUuY29tAHd3d0BleGFtcGxlLmNvbQBpcmVkbWFpbA== # 輸入base 64后的用戶名和密碼 235 2.7.0 Authentication successful mail from:<www@example.com> #使用 www@example.com 帳號對外發送郵件 250 2.1.0 Ok rcpt to:<shake.chen@gmail.com> #發送郵件到 shake.chen@gmail.com 這個郵箱 250 2.1.5 Ok data #輸入data命令后,下面就是郵件的內容 354 End data with <CR><LF>.<CR><LF> to:shake.chen@gmail.com #這是郵件里顯示的發送給誰。 from:www@example.com #那個帳號發送過來的 subject: test by telnet smtp #郵件的主題 test , just a test ,check the subject whetehr working. . #寫完郵件后,輸入一個點,回車,就表示郵件完成。 250 2.0.0 Ok: queued as B6B4820EC9 quit #退出 221 2.0.0 Bye Connection closed by foreign host.

    ?

    • pop3連接

    可以在遠程使用命令行或者本地來測試pop3

    # telnet localhost 110 #登錄110端口 Trying?::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user www@example.com #輸入登錄的郵件帳號 +OK pass iredmail #帳號的密碼,這里直接輸入密碼就可以 +OK Logged in. list #查看郵箱里的郵件 +OK 4 messages: 1 1182 2 6195 3 1588 4 878 . retr 1 #顯示第一封郵件內容 quit #退出 +OK Logging out. Connection closed by foreign host. 1個分類:?服務器

    ?

    轉載于:https://www.cnblogs.com/AloneSword/p/3162289.html

    總結

    以上是生活随笔為你收集整理的邮件服务器方案参考的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。