搭建郵件服務器


國內私募機構九鼎控股打造APP,來就送 20元現金領取地址: http://jdb.jiudingcapital.com/phone.html
內部邀請碼: C8E245J (不寫邀請碼,沒有現金送)
國內私募機構九鼎控股打造,九鼎投資是在全國股份轉讓系統掛牌的公眾公司,股票代碼為430719,為“中國PE第一股”,市值超1000億元。 

 

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

 

 

一、前期准備

1、域名配置

在域名上配置 MX 記錄,在域名中添加

 

類型 主機 指向
A @ xxx.xxx.xxx.xx
A www @
MX mail @
MX   xxx.xxx.xxx.xx

2、網絡配置(開通必要的端口和防火牆)

2.1 郵件服務所需要的必要的端口

協議 常規端口 SSL加強端口
SMTP 25  
POP 110  
IMAP 143  
     

2.2 部署郵件服務器的端口必須具備至少一個 公網ip,並和域名綁定好

2.3 開通服務器端的 iptables 端口

 1 # SMTP
 2 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
 3 # POP
 4 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
 5 # POP3S
 6 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT
 7 # IMAP
 8 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
 9 # IMAPS
10 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT

 

3、

二、安裝/配置 postfix

postfix MYSQL 需要如下庫的支持,並假設各庫安裝路徑如下: 

1、mysql client: 安裝目錄 /usr/local/lib/mysql/ (libmysqlclient.so 庫函數的位置), 標頭文件位於 /usr/local/includes/mysql/
2、zlib:              安裝目錄 /usr/lib/

3、berkely db: 安裝

cd ./build_unix 
../dist/configure

安裝完成后,默認將 berkely db 安裝到 /usr/local/berkelydb 目錄下 

因安裝 postfix 是需要 berkely db 的支持,需要將如下兩個文件鏈接到 /usr/include  /usr/lib 目錄下

ln -s /usr/local/berkelydb5.3.2/include/db.h /usr/include/db.h
ln -s /usr/local/berkelydb5.3.2/lib/libdb.so /usr/lib/libdb.so

4、編譯 postfix 支持 mysql (在系統中必須存在 mysql.h )

make -f Makefile.init makefiles \
    'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include' \
    'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'

  

 

 

編輯postfix/main.cf

 sudo vim /etc/postfix/main.cf

在 main.cf 找到這些內容,並修改,改為你在 /etc/hosts中的域名

 

 myhostname = mail.backup.org
 mydomain = backup.org
 myorigin=$mydomain
 inet_interfaces = all
 mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 relay_domains = $mydestination
 mynetworks = 192.168.0.0/16, 127.0.0.0/8
 home_mailbox = Maildir/

 # 不顯示服務器信息
 smtpd_banner = $myhostname ESMTP unknown
 
 # 在main.cf最后加下面的,用SMTP認證
 smtpd_sasl_auth_enable = yes

 # 指定SMTP認證的本地域名(主機名)
 smtpd_sasl_local_domain = $myhostname

# 不允許匿名的方式認證
 smtpd_sasl_security_options = noanonymous
 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
 smtpd_sasl_security_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

   # 注:實際上這里因為沒配置sasl的應用,所以這里的sasl實際測試時,是enable = no的

 

   # 規定一下郵件大小

 # 規定郵件最大尺寸為150MB
 message_size_limit = 157286400
 # 郵箱最大為300MB,當然,他需要比郵件大
 mailbox_size_limit = 314572800

 

編輯 /etc/sasl2/smtpd.conf,原作者目的是為了使用單獨的用戶,但我最終要用LDAP,所以不需要理會,保留原狀

pwcheck_method: saslauthd
mech_list: plain login

在 /etc/skel 建立家目錄模版

 mkdir /etc/skel/Maildir
 chmod 700 /etc/skel/Maildir

老用戶似乎不會自動建立,手工建立起來吧。試試

service postfix restart
service saslauthd restart
 
chkconfig postfix on
chkconfig saslauthd on
 
 # 設置默認MTA
alternatives --config mta
選中postfix為默認MTA

這時候用webmin的收發是不成問題了,但僅這樣還不行,還需要用telnet驗證一下

這時會提示:fatal: no SASL authentication mechanisms

因此先改為

smtpd_sasl_auth_enable = no

再次telnet

telnet xx 25
 
ehlo localhost
mail from:admin@backup.org
rcpt to:admin@backup.org
data
From:xxoo@test.org
To:admin@backup.org
Subject: My first
test
.
quit

可以用webmin等工具看,也可以直接殺到 Maildir里看,應該在 ~/Maildir/new/ 里面。

三、安裝/配置 Cyrus SALS 

四、安裝/配置 Dovecot 

1、編輯文件 /etc/dovecot/dovecot.conf
找到行 #protocols = imap pop3 lmtp ,把#去掉,讓這行生效:
protocols = imap pop3 lmtp

#接着上行添加一段:(根據 dovecot 的版本不一樣,如下內容有可能是在其他的文件中體現,比如: conf.d/10-master.conf

service auth {
unix_listener /var/spool/postfix/private/auth {
mode = 0660
user = postfix
group = postfix
}
}
接着找到行 #login_trusted_networks = ,把#去掉,並修改為(自己的內網)
login_trusted_networks = 192.168.0.0/24
編輯好保存。

2、接着編輯文件 /etc/dovecot/conf.d/10-mail.conf
找到 #mail_location = maildir:~/Maildir ,把 # 去掉,使這行生效:
mail_location = maildir:~/Maildir

編輯好保存。

3、執行命令開啟 dovecot服務:
systemctl enable dovecot.service
systemctl start dovecot.service

4、使用命令行測試 dovecot 配置

4。1 檢查 端口 pop3 110 是否開通:

netstat -tan | grep -i :110 

如果出現則證明 110 端口開通

4。2 命令行收郵件

telnet localhost 110

user $ROOT

pass $YOURPASSWORD

 執行上述命令后,如果都是顯示的 OK ,則表示正常,否則,請檢查日志文件確認錯誤的原因

 

啟動dovecot報錯  

2012-04-12 11:19:22|  分類: other server|字號 訂閱

 
 
[root@wlt sbin]# ./dovecot 
doveconf: Fatal: Error in configuration file /etc/dovecot/dovecot.conf line 86: No matches
[root@wlt ~]# cd /opt/dovecot/share/doc/dovecot/example-config/
[root@wlt example-config]# cp -a conf.d/ /etc/dovecot/
[root@wlt sbin]# ./dovecot 
doveconf: Fatal: Error in configuration file /etc/dovecot/conf.d/10-ssl.conf line 12: ssl_cert: Can't open file /etc/ssl/certs/dovecot.pem: No such file or directory
進入源碼包:
[root@wlt ~]# cd /opt/software/dovecot-2.0.20/doc
[root@wlt doc]# mkdir /etc/ssl/certs -p
[root@wlt doc]# mkdir /etc/ssl/private -p
[root@wlt doc]# sh mkcert.sh 
Generating a 1024 bit RSA private key
.................................++++++
........++++++
writing new private key to '/etc/ssl/private/dovecot.pem'
-----

subject= /OU=IMAP server/CN=imap.example.com/emailAddress=postmaster@example.com
SHA1 Fingerprint=AF:CE:BC:66:02:7D:65:08:A3:B5:C4:5B:5D:90:E3:7F:85:E8:4D:AB
[root@wlt sbin]# ./dovecot               
[root@wlt sbin]#
 
 
【特別說明】使用 測試命令登錄 110 端口時,如果登錄失敗,記得經常查看日志文件: postfix 的默認日志文件在 /var/maillog/ 下,但在 suse 系統時,檢查目錄 /var/log/mail.err 
 
mail dovecot: auth-worker(4520): Error: pam(root,10.18.0.30): pam_authenticate() failed: Authentication failure (/etc/pam.d/dovecot missing?
根據提示顯示,pam.d/dovecot 文件丟失。系統需要訪問本文件,說明是通過 pam 的方式進行的用戶認證。編輯文件,形成用戶及密碼驗證即可。
需要注意 10-auth.conf 文件中的選項  disable_plaintext_auth 選項是否為 on,表示容許明文密碼驗證,默認設置為 yes。(通過 doveconf | grep -i disable 命令查看)
1、檢查 conf.d/10-auth.conf 文件中的配置:
  disable_plaintext_auth = on # 允許明文密碼驗證。
2、生成 pam.d/dovecot 文件
  vim /etc/pam.d/dovecot
      test@examples.com:{PLAIN}password
3、重新 dovecot 進程
  sbin/dovecot stop
      sbin/dovecot

五、安裝/配置 OpenLDAP


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM