1. 程式人生 > >中小企業伺服器配置方案(郵件伺服器) Sendmail伺服器 Qmail伺服器

中小企業伺服器配置方案(郵件伺服器) Sendmail伺服器 Qmail伺服器


湯海京 (投稿)

第四章 郵件伺服器
第一節 Sendmail伺服器
& 1.1 簡介
郵件服務是使用者所需要的最重要的網路服務。Web的通訊量很大,但郵件主要用於個人之間的通訊,而人-人的通訊是商務的基礎。沒有郵件服務的網路是不完整的網路。換句話說,如果不能給使用者提供完整的TCP/IP下的郵件支援,這樣的網路作業系統也不值得信賴。
配置sendmail是一件大而複雜的工作,但也不完全都是這樣,與其他一些網路伺服器系統只安裝SMTP伺服器軟體的情況相比,Linux已經配置好了多數的設定。在多數系統下,預設配置都能良好的執行。我將在本章中給出一些配置的建議,主要的一些配置引數建議大家不要隨意更改。

(
LinuxByte下載Sendmail
)
& 1.2 所需資源
&1.2.1 所需包
RedHat6.2 伺服器安裝
&1.2.2 所需配置檔案
/etc/sendmail.cf 系統自帶,管理員配置
/etc/sendmail.cw 系統自帶,管理員配置
& 1.3 配置方案
1./etc/sendmail.cf
說明:sendmail主配置檔案
控制sendmail執行時的配置。完整的sendmail配置應該包括7部分:
Local Info(本地資訊):這部分定義了本地主機的資訊
Options(選項):用來設定定義sendmail環境的選項。
Message Precedence(訊息的優先順序):sendmail訊息優先順序
Trusted Users(信任使用者):定義傳送郵件時允許改變傳送地址的使用者
Format of Headers(頭格式):定義在sendmail中插入的郵件頭資訊
Rewriting Rules(改寫規則):這部分儲存著改寫郵件地址命令使用該命令可以將郵件地址從使用者郵件程式的地址形式改寫為郵件傳送程式所需要的地址形式。
Mailer Definition(郵寄者說明):定義傳送郵件的程式,改寫規則是郵件者使用的規則,在本部分定義。
原始檔:
V8/Berkeley
Cwlocalhost
Fw /etc/sendmail.cw
CP.
DYuunet.uu.net
CPUUCP
DS mail.weboa.com.cn
CO @ % !
C..
C[[
Kmailertable hash -o /etc/mail/mailertable
#製作db庫
Kdomaintable hash -o /etc/mail/domaintable
Kgenerics hash -o /etc/mail/genericstable
Kvirtuser hash -o /etc/mail/virtusertable
Kaccess hash -o /etc/mail/access
Kmxserved bestmx -z: -T
Kresolve host -a -T
FR-o /etc/mail/relay-domains
DR
DH
Kdequote dequote
CM root
DM mail.weboa.com.cn
#設定郵件伺服器名稱
DnMAILER-DAEMON
CPREDIRECT
DZ8.9.3
O SevenBitInput=False
O EightBitMode=pass8
O AliasWait=10
O AliasFile=/etc/mail/aliases,/etc/mail/majordomo
O MinFreeBlocks=100
#規定最小空閒塊
O MaxMessageSize=1000000
#指定使用者一次最大發送的郵件大小
O BlankSub=.
O HoldExpensive=False
O DeliveryMode=background
O AutoRebuildAliases=true
O TempFileMode=0600
O HelpFile=/etc/mail/sendmail.hf
O SendMimeErrors=True
O ForwardPath=$z/.forward.$w:$z/.forward
O ConnectionCacheSize=2
O ConnectionCacheTimeout=5m
O UseErrorsTo=False
O LogLevel=9
#記錄到日誌檔案的事件等級
O CheckAliases=False
O OldStyleHeaders=True
O PrivacyOptions=authwarnings,noexpn,novrfy
O QueueDirectory=/var/spool/mqueue
O Timeout.queuereturn=4d
O Timeout.queuewarn=4h
O SuperSafe=True
O StatusFile=/var/log/sendmail.st
O DefaultUser=8:12
O SmtpGreetingMessage=$j Sendmail $v/$Z; $b
O UnixFromLine=From $g $d
O OperatorChars=.:%@!^/[]+
Pfirst-class=0
Pspecial-delivery=100
Plist=-30
Pbulk=-60
Pjunk=-100
Ft -o /etc/mail/sendmail.ct
Troot
Tdaemon
Tuucp
R$* $#error
[email protected]
5.7.1 $: "550 Relaying denied"
#以上是Linux預設的選項,不允許客戶機使用mail伺服器收發郵件,如果允許客戶機收發的話應將上邊一句話改成
R$- [email protected]
#注意:中間是兩個tab鍵
#一下是郵件頭資訊
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $?x$x <$g>$|$g$.
H?F?From: $?x$x <$g>$|$g$.
H?x?Full-Name: $x
H?M?Resent-Message-Id: <
[email protected]
$j>
H?M?Message-Id: [email protected]$j
#以上是郵件頭資訊
2.管理員需要執行touch /etc/mail/aliases 和 touch /etc/mail/majordomo來建立兩個檔案,然後重新啟動sendmail,利用sendmail.cf裡生成db庫的配置來生成兩個庫檔案:aliases.db和majordomo.db;當然,管理員也可以通過執行makemap hash mailertable < mailertable來生成新的db,這樣可以不重新啟動。
& 1.4 測試及管理辦法
&1.4.1 測試方法
1.管理員可以通過執行/etc/rc.d/init.d/sendmail restart來使更改的
配置生效。
2.管理員通過執行 fetchmail –u yourname yourserver 來為沒有郵件用
戶制定他們的口令,使用者需要在客戶端作相應的設定。
3.管理員應該開啟pop3服務,即更改配置檔案
3. 管理員在伺服器上可以通過執行 echo test | /usr/sbin/sendmail
– v [email protected]來測試建立好的郵件使用者是否能夠正常工作。
& 1.5 小結
其實我們只要設定其中的幾個地方就可以實現mail伺服器的功能,這是因為sendmail有很強的適用性,並且它是在不斷更新的。所以現在提供給我們的sendmail的配置方案已經經過實踐檢驗,不需要管理員做太大改動,就可以實現強大的sendmail功能。


第二節 Qmail伺服器
& 2.1 簡介
Qmail是一種可以完全替代Sendmail-binmail體系的新一代Unix郵件系統.Qmail與Sendmail比起來有很多特性,包括:
安全----Qmail將Mail處理過程分為多個過程,盡力避免用root使用者
執行.同時Qmail禁止對特權使用者(root,deamon等)直接發
信.
可靠----Qmail的直接投遞保證Email在投遞過程中不會丟失.
Qmail同時支援新的更可靠的信箱格式Maildir,保證系統在
突然崩潰情況下不至破壞整個信箱.
高效----在運行於奔騰的BSD/OS上,Qmail每天可以輕鬆的投遞200000
封信件.
簡單----Qmail要比其他的Internet Mail系統小得多.Qmail通過統
一的向前機制完成forwarding,alias和maillist等功
能,Qmail使用簡單高效佇列來處理投遞.Qmail-smtpd可以由
inetd啟動,節省了一定資源.
Qmail支援: host and user masquerading
full host hiding
virtual domains
null clients
list-owner rewriting
relay control
double-bounce recording
arbitrary RFC 822 address lists
cross-host mailing list loop detection
& 2.2 所需資源
(LinuxByte下載qmail,其它軟體大多數都可以在LinuxByte找到,需要的話請使用LinuxByte搜尋引擎查詢)
&2.2.1 所需包
qmail-1.03.tar.gz Qmail基本系統包
ucspi-tcp-0.88.tar.gz tcpserver等服務程式
daemontools-0.70.tar.gz 監視工具
checkpassword-0.90.tar.gz pop3驗證使用者程式
vpopmail-4.9.8.tar.gz 虛擬域使用者pop3支援
vqsignup-0.4 web方式使用者註冊
sqwebmail-1.2.4.tar.gz webmail
qmailadmin-0.42.tar.gz 虛擬域web方式管理
ezmlm-0.53.tar.gz 郵件列表管理
autorespond-1.0.0.tar.gz 自動回覆程式
&2.2.2 下載網址
http://www.qmail.org
http://www.inter7.com/qmail
& 2.3 安裝過程
2.2.1 安裝Qmail基本包
(1)新增Qmail所必須的使用者和組
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g nofiles -d /var/qmail qmailq
useradd -g nofiles -d /var/qmail qmailr
useradd -g nofiles -d /var/qmail qmails
(2)安裝Qmail包
cd /usr/local/src
tar xvzf qmail-1.03.tar.gz
cd qmail-1.03
make setup check
./config-fast $HOSTNAME
# 設定Qmail伺服器主機名
cd ~alias;touch .qmail-postmaster .qmail-mailer-
daemon .qmail-root
sed s/Mailbox/Maildir// /var/qmail/boot/home >
/var/qmail/rc
chmod 755 /var/qmail/rc
2.2.2 安裝tcpserver等服務程式
cd /usr/local/src
tar xvzf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
make
make setup check
2.2.3 安裝pop3驗證使用者程式
cd /usr/local/src
tar xvzf checkpasswd-0.90.tar.gz
cd checkpasswd-0.90
make
make setup check
chmod og-rx /bin/checkpassword
2.2.4 安裝虛擬域使用者pop3支援
groupadd vchkpw
useradd -g vchkpw vpopmail
mkdir ~vpopmail/etc
echo "127.0.0.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.smtp
echo "192.168.0.:allow,RELAYCLIENT=""" >> ~vpopmail/etc/tcp.smtp
echo ":allow" > /etc/tcp.smtp
/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
cd /usr/local/src
tar xvzf vpopmail-4.9.8.tar.gz
cd vpopmail-4.9.8
make clean
./configure --enable-hardquota=10485760 --enable-deliver-filter=y
make
make install-strip
cd /home/vpopmail/bin
./vadddomain weboa.com.cn weboa
./vadduser [email protected] thj
2.2.5 更改Sendmail為Qmail
killall -TERM sendmail
mv /usr/lib/sendmail /usr/lib/sendmail.org
mv /usr/sbin/sendmail /usr/sbin/sendmail.org
mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.org
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
cp /root/qmail/qmail-start /etc/rc.d/init.d/ -f
cp /root/qmail/databytes /var/qmail/control/ -f
ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S98qmail
2.2.6 製作Qmail控制指令碼
#!/bin/sh
case "$1" in
start)
echo "start qmail:"
/var/qmail/rc &
echo "start smtp service:"
/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb 0 smtp
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger
smtpd 3 &
echo "start pop3 service:"
/usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/
qmail-popup $HOSTNAME /home/vpopmail/bin/vchkpw
/var/qmail/bin/qmail-pop3d Maildir &
;;
stop)
echo "stop qmail:"
killall -9 tcpserver
killall -9 qmail-lspawn
;;
*)
exit 1
;;
esac
exit 0
2.2.7 安裝監視工具
cd /usr/local/src
tar zxvf daemontools-0.70.tar.gz
cd daemontools-0.70
   make
   make setup check
#執行檔案將安裝於/usr/local/bin中。
#安裝本工具後可以用 # mkdir /var/run/qmail
# supervise /var/run/qmail /var/qmail/rc
來啟動qmail,還可以用svc來關閉或重啟qmail,用svstat監視
qmail執行情況
2.2.8 Qmail之Web解決方案
(1) 安裝郵件列表管理
cd /usr/local/src
tar zxvf ezmlm-0.53.tar.gz
make
make man
make setup
(2) 安裝自動回覆程式
cd /usr/local/src
tar zxvf daemontools-0.70.tar.gz
gcc -Wall -o autorespond autorespond.c
cp autorespond /usr/local/bin/autorespond
(3) 安裝虛擬域web方式管理
cd /usr/local/src
tar zxvf qmailadmin-0.42.tar.gz
cd qmailadmin-0.42.tar.gz
在安裝前首先要考慮滿足以下幾項要求:
a.是否擁有一個vpopmail使用者vchkpw
b.cgi-bin目錄的所在位置
c.ezmlm目錄的所在位置
d.autorespond目錄的所在位置
如果能夠達到以上要求,可以繼續安裝
./configure
make
make install-strip
檢測安裝是否正確:瀏覽器中開啟路徑
http://mail.weboa.com.cn/cgi-bin/qmailadmin,
看根據前面設定的使用者和密碼是否能夠成功登入進去。
(4) 安裝WebMail包
cd /usr/local/src
tar zxvf sqwebmail-1.2.4.tar.gz
cd sqwebmail-1.2.4.tar.gz
./configure --without-authpam --without-authuserdb
enable-webpass=no --without-authpwd
--without-authshadow
make configure-check
make
#當make時報錯找不到db.h
可以 cp /usr/include/db1/db.h /usr/include/db.h
make check
make install-strip
make install-configure
檢測安裝是否正確:瀏覽器中開啟路徑
http://mail.weboa.com.cn/cgi-bin/sqwebmail
(5) 安裝vqsignup
tar xvfz vqsignup-0.4.tar.gz
cd vqsignup-4.0
a. 修改Makefile檔案:
FLAGS=-I/home/vpopmail/include
修改-I/home/vpopmail/include指到真實的vpopmail/include目錄
修改下面的這行
$(CC) $(FLAGS) -o $(BIN) $(OBJS) -L/home/vpopmail/lib -lvpopmail -lcrypt
修改 -L/home/vpopmail/lib 為真的vpopmail lib的目錄
b. 編譯
make
c. 安裝
拷貝signup.cgi和signup.conf檔案到cgi-bin目錄下
切換目錄到cgi-bin目錄下
chown vpopmail signup.cgi
chgrp vchkpw signup.cgi
chmod ug+s signup.cgi
chmod ugo+r signup.conf
拷貝vqsignup_html目錄到cgi-bin目錄下,確信對所有
使用者可讀
拷貝vqsignup.html檔案到DocumentRoot目錄下,確信
能夠被訪問。編輯cgi-bin目錄下的vqsignup.conf檔案
修改"add_domain"的所有行,加上你的真實的域,把其他
的行刪除掉.更改vqsignup_text/*.html檔案,使包含"result_*"的行的路徑指到正確的全路經。
修改vqsignup_text目錄下所有的檔案,使它們只包含你
想支援的域,你也可以定製這些頁面,使它們更加好看些。
修改DocumentRoot目錄下vqsignup.html檔案,使它只
包含你想支援的域,你也可以定製這個頁面,使它更加好
看些。
d. 測試
用你的瀏覽器訪問http://your web server/your sub dir/vqsignup.htm, 試著註冊新使用者,如果成功的話,
那麼就恭喜你了。如果有錯誤,請返回安裝步驟仔細檢視檔案的許可權和vqsignup.html裡的值是否正確。
& 2.4 其他參考資料
Adam McKenna所編寫qmail-HOWTO
http://www.flounder.net/qmail/qmail-howto.html
   qmail FQA (內含於qmail 1.03 Source Code)
  http://www.qmail.org/
http://www.linuxaid.com.cn/solution/上有幾篇比較好的安裝文件
http://www.linuxforum.net/cgi-bin/perl/wwwthreads.pl上的qmail討
論也不錯
& 2.5小結
Qmail配置工作雖然較Sendmail來說已經大大簡化,但要想真正建立一個功能強大、執行穩定的郵件伺服器,掌握其靈活的配置,認真閱讀其How-to和FAQ還是極有必要的。關於Dot-forward、郵件列表等其他非常有用的方法和使用技巧,限於篇幅就不再介紹了,建議大家參考軟體包中的有關文件。


相關推薦

中小企業伺服器配置方案(郵件伺服器) Sendmail伺服器 Qmail伺服器

湯海京 (投稿) 第四章 郵件伺服器 第一節 Sendmail伺服器 & 1.1 簡介 郵件服務是使用者所需要的最重要的網路服務。Web的通訊量很大,但郵件主要用於個人之間的通訊,而人-人的通訊是商務的基礎。沒有郵件服務的網路是不完整的網路。換句話說,如果不能給使用者提供完整的TCP/IP下的郵件支援

微信小程式需求IIS伺服器配置https關於SSL,TLS的綜合解決方案

1.伺服器安裝證書:必須確保證書是sha256RSA簽名演算法的,反正sha1是肯定出問題。 2.為了保證小程式在IOS上正常執行,必須保證伺服器的TLS為1.2及以上版本,下面網址可以測試你伺服器的證書等情況:  https://www.ssllabs.com/ssltes

Linux,郵件伺服器配置

Linux,郵件伺服器配置 用Linux配置區域網內的郵件伺服器。postfix(傳送,這裡不使用sendmail,sendmail和postfix不能同時開啟),dovecot(接收),squirrelmail(基於phpweb的郵件應用)。 郵件伺服器的域名為 mail.demo

VS2013新建asp.net空網站專案失敗,配置IISexpress失敗,未能找到web伺服器“http://localhost”解決方案

前兩天用vs2013新建asp.net空網站時失敗了出現這個問題: 於是我上網搜尋關鍵字“配置IISexpress失敗,未能找到web伺服器“http://localhost”,結果是這樣滴 並沒有我這個問題的解決辦法,然後我就只能死馬當活馬醫,隨便試試了,說不定就好了呢。有一個

電商企業網站選擇雲伺服器配置推薦_最佳實戰解決方案

  電商網站該如何進行雲伺服器配置呢?電商雲伺服器的配置選擇,其實和網站或應用的型別、訪問量、資料量大小、程式質量等因素有關,建議和您的網站或應用的開發技術人員溝通,選擇最適合您的配置。  如果您沒有技術人員可提供建議,可以參考我們的建議進行配置選擇。網站初始階段訪問量小,只

gitlab 郵件伺服器配置

一、修改 /etc/gitlab/gitlab.rb 檔案,新增郵件伺服器資訊 SMTP settings 例如163 郵件伺服器 gitlab_rails[‘smtp_enable’] =

Apache James郵件伺服器配置及傳送外網郵件

最近公司做的一個專案,使用者註冊需要郵箱驗證,本想呼叫別人的伺服器,呼叫apache自帶的email包實現! 但Boos發話,要自己搭建一個郵箱伺服器。。。 先前使用了winMail,但是收費

EasyDSS流媒體伺服器叢集簡單配置方案

EasyDSS叢集簡單配置方案 1. 說明 EasyDSS支援配置RTMP拉流轉發和RTMP推流轉發。在做EasyDSS叢集時,我們可以配置一臺EasyDSS為接收推流的伺服器,並配置推流轉發至其他的EasyDSS伺服器用於流分發,當然,接收推流的Eas

IBM Lotus Domino 郵件伺服器配置攻略

轉自: http://tech.sina.com.cn/h/2008-09-04/0600792843.shtml 作者:中關村線上 孫鵬 第1頁:系統環境     上期我們講解了IBM Lotus Domino Server的首次配置過程,這期我們就來看一下IBM L

關於伺服器上傳送郵件程式傳送失敗的解決方案

麥咖啡是一款不錯的防毒軟體,但是,剛安裝後,按照預設設定,在使用的過程中,會出現一些問題,如Foxmail傳送不了郵件了。很多時候,Foxmail發不了郵件,會對Foxmail軟體本身及網路找很多原因,結果一無所獲。那麼,根據實踐,得出如下結論:McAfee對於傳送郵件有一定的控制,主要是針對郵件病毒私自在主

伺服器Windows Server2012 配置SMPT和POP郵件伺服器並進行郵件傳送

一、安裝SMPT伺服器 1.新增角色和功能 2.勾選SMTP伺服器 二、配置SMPT伺服器 1.設定SMPT伺服器的屬性 右鍵SMPT-->屬性 2.設定域名 三、配置POP伺服器 Windows server 2012沒有自帶的POP服務,所以需要使用第三

終端下的郵件伺服器配置 mutt + msmtp + fetchmail 與 附件的獲取

 今天即興之下弄了六個多小時的linux,主要配置了終端下的郵件伺服器配置。     這裡用到了mutt+msmtp+fetchmail,另外我用c++寫了一個直接獲取附件的小程式。雖然看起來不美,但怎麼說也是自己的勞動成果 : )      為了節省流量和加快速度,我直接用

lamp+phpmyadmin伺服器配置

1、安裝apache [[email protected] ~]# yum -y install httpd 直到返回 ...... Installed: httpd.x86_64 0:2.4.6-40.el7.centos.4

Linux下代理伺服器配置

1.安裝squid [[email protected] ~]# yum install squid -y 安裝: squid.x86_64 7:3.5.20-12.el7.x86_64.rpm

微信小程式--21騰訊雲伺服器配置-nodejs版本

https://cloud.tencent.com/ 雲產品-微信小程式 關聯微信小程式 組織上傳程式碼   程式碼結構大概是這樣        然後再智

配置pycharm專業版同步修改遠端伺服器程式碼以及使用遠端直譯器除錯

配置pycharm同步修改遠端伺服器程式碼以及使用遠端直譯器除錯 場景: 假如你的程式碼需要在伺服器上執行,程式碼是python寫的,那麼你想編寫以及除錯程式碼,如果用虛擬機器或者xshell連線後的vim編輯,顯然極不方便,哪怕你裝了豪華版的vim,或者線上jupyter編輯,但是

伺服器配置+wordpress建站(小白)

一、 安裝好centos7.2系統後,登入centos系統輸入如下命令: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.

DHCP伺服器配置練習

DHCP實操練習 練習一 環境: 1.desktop設定兩塊網絡卡,第一塊網絡卡為dhcp模式,第二塊靜態 2.server的網絡卡也設定為dhcp模式 目的:將desktop作為dhcp伺服器,為desktop的第一塊網絡卡,和server的網絡卡分配IP,並檢查租約檔案 步

https\SSL安全證書配置,Tomcat、nodejs、Nginx伺服器安全證書配置

安全證書的好處我就不多說,直接上圖、申請ssl證書、做個耿直boy。 前提條件:阿里雲服務、域名、linux系統、Tomcat(nodejs或Nginx)、購買ssl證書。 用jdk生成的安全證書裝到Tomcat上,由於沒有通過認證,效果如下圖: 購買安全證書,安裝之後s

免費HTTPS伺服器配置

免費HTTPS伺服器配置 基於tomcat,需要為tomcat安裝apr等,找了很久找到了這麼一篇沒坑的部落格:https://blog.csdn.net/mn960mn/article/details/51602529,這裡面關於tomcat的配置已經夠了,我想說的主要是如何申請CA證