郵件服務

郵件語言:M4程序員

SASL: v2web

cyrus-sasl 認證框架算法

courier-authlibsql


MTA: 郵件傳輸代理,SMTP服務器數據庫

sendmail,  UUCPvim

qmail安全

數學家當程序員,他寫的算法絕對是一流的服務器

postfix網絡

安全、兼容、效率高框架

exim

Exchange (異步消息協做平臺) 重量級


MDA: 郵件投遞代理

procmail

maildrop


MRA: 郵件檢索代理(pop3, imap4)

cyrus-imap

dovecot


MUA: 郵件用戶代理

Outlook Express, Outlook

Foxmail

Thunderbird

Evolution

mutt (文本界面)

Webmail:

Openwebmail

squirrelmail

Extmail(Extman 管理界面)商業軟件,也有免費版

EMOS, CentOS



eg:

   sendmail

部署前基本知識瞭解

必須瞭解localhost.localdomain  21:45:48 root@test[10.0.2.81/24]:~

本機hosts-------->resolv.conf-------->公網(萬網)

vim /etc/hosts

vim /etc/resolv.conf


hostname +主機名

/etc/sysconfig/network  HOSTNAME=localhost.localdomain


user

group


###已有DNS服務器並在映射到郵件服務器的域名配置文件中進行A記錄和MX記錄的設置

    列如:

    @IN MX 5                mail.test.com.

    mail IN A                  192.168.1.2

若是有用DNS 那麼DNS MX 要把mail加上,若是內網主機調用就不要暴露在公網上了,這樣解決了安全同時在發送速度上也有所提高

 

sendmailLinux下優秀的郵件系統。在不作任何設定的狀況下,sendmail發出郵件的郵箱源地址形如userid@localhost.localdomain,這種地址幾乎會被全部的郵箱認定爲SPAM(垃圾郵件)或直接拒收 ……

 

SMTPSimple Mail Transfer Protocol/簡單郵件傳送協議

在互聯網絡時代幹什麼都是離不開協議的,郵件服務天然更不能例外;定義郵件傳送,基於TCP服務的應用層, 明文傳送,SMTP協議使用25端口;在發信的時候MUA會主動鏈接MTA25端口,而後將信由MTASMTP協議發送出去,而郵件主機MTA在傳遞的時候,也是經由MTA的25端口來將信送出去。

 

sendmail命令網絡服務器 sendmail命令是一款著名的電子郵件傳送代理程序,也就是日常說的電子郵件服務器,它基於標準的簡單郵件傳輸協議(SMTP)。

語法 sendmail(選項)

選項

-bd      以守護進程方式運行指令;

-bD      之前臺運行方式運行;

-bi       初始化別名數據庫;

-bm     以常規發送電子郵件;

-bp      顯示郵件的發送隊列;

-C        指定配置文件;

-D        將調試的輸出信息保存到日誌文件,而不顯示在標準輸出設備上;

-F        指定郵件發送者全名;

-n        禁止使用郵件別名功能;

-f         指定發件人的名字;

-q        設置處理郵件隊列中郵件的時間間隔。

 

Linux系統配置sendmail服務的步驟以下:


1.檢查Send Mail 的安裝包

[root@sql root]# rpm -qa | grep sendmail

sendmail-8.12.8-4

sendmail-cf-8.12.8-4


[root@sql root]# rpm -qa | grep m4

m4-1.4.1-13


[root@sql root]# rpm -q mailx

mailx-8.1.1-28


2. Sendmail安裝

# yum install -y sendmail

# yum install -y sendmail-cf


3. 配置相關參數

#cd /etc/mail


a)設置mail的服務地址

vi sendmail.mc


    DAEMON_OPTIONS`Port=smtpAddr=127.0.0.1 Name=MTA'dnl

    修改成

DAEMON_OPTIONS`Port=smtpAddr=0.0.0.0 Name=MTA'dnl


b)設置smtp用戶認證方式

# vi /etc/mail/sendmail.mc


    dnl TRUST_AUTH_MECH`EXTERNALDIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl

    dnl define`confAUTH_MECHANISMS' `EXTERNALGSSAPIDIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl

    修改成

    TRUST_AUTH_MECH`EXTERNALDIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl

    define`confAUTH_MECHANISMS' `EXTERNALGSSAPIDIGEST-MD5 CRAM-MD5 LOGIN PLAIN'dnl

    修改LOCAL_DOMAIN`localhost.domain'dnl sdlp.com域名

LOCAL_DOMAIN`sdlp.com'dnl


c)設置提供郵件服務的域名

# vi /etc/mail/local-host-names

 

    添加郵件服務器提供郵件服務的域名

sdlp.com

 

修改submit.cf文件

#vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改成Djsunchis.com


修改完主配置文件sendmail.mc後生產新的sendmail.cf文件

#m4 sendmail.mc> sendmail.cf


查看電子郵件隊列信息:

# sendmail -bp

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

/var/spool/mqueue(1 requests)

-----Q-ID-------Size-- -----Q-Time----- ------------Sender/Recipient-----------

p6C71EPC02035910 Tue Mar 19 14:02 

(host map:lookup (gmail.com): deferred)

 

Total requests:1

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

出現了"host map: lookup (domain): deferred"錯誤,意思就是說郵件的發送被延遲了。


解決辦法很簡單:

# vim/etc/mail/sendmail.cf

找到 #O ResolverOptions=+AAONLY 這一行信息,並把它的註釋去掉。


#/etc/init.d/sendmail restart

重啓sendmail之後便可成功發送郵件。


d設定郵件服務器的權限

#/etc/mail/access

# vi /etc/mail/access


#預設狀況下有啓用的 IP

localhost.localdomain            RELAY

localhost.                               RELAY

127.0.0.1                               RELAY


#想要開放權限的IP與網域

192.168.18.1                         RELAY

140.116.44.125                     RELAY


#擋掉的IP、主機名稱與E-mail

qq.com                                 DISCARD

192.168.1.100                      DISCARD

xxx@xxx.domain.name        REJECT

#儲存後離開

# cd /etc/mail/

# makemap hashaccess.db < access


e設定使用者別名/etc/aliases

mail:        root

執行命令:  newaliases

建立賬號能夠用useradd添加,而後加到mail 組裏面

Linux 中開設 E-Mail 賬號十分簡單,只要在 Linux 系統中新增一個用戶便可。該用戶賬號和密碼就是E-Mail 的賬號和密碼。


4. 配置相關參數

service sendmail start


5. 查看日誌

tail -f /var/log/maillog 確認系統正常啓動



檢測解析

使用nslookup檢測MX記錄是否能正確解析到郵件服務器

# nslookup  

> set q=mx 

> sunchis.com 

Server:         8.8.8.8 

Address:        8.8.8.8#53 

Non-authoritative answer: 

sunchis.com  mail exchanger = 10 mail.sunchis.com.

 Authoritative answers can be found from: 

 >



測試發件方法

telnet mail.qizhongzc.com 25

ehlo www.baidu.com  helo             #通報來訪者地址

mail from :kf@ qizhongzc.com          #發件人地址

rcpt to :lnredone@126.com               #收件人地址

data                                                   #輸入正文內容

it's test!                                              #正文內容

.                                                         #句號的圓點表示寫信結束的意思

quit                                                    #退出



郵件服務器解決方案:

Postfix + SASL (courier-authlib 實現虛擬用戶) + MySQL            【發郵件服務器】

Dovecot + MySQL                                                                        【收郵件服務器】

Extmail + Extman + httpd                                                             【webmail】

postfix    rpm包,不支持虛擬用戶!須要經過源碼編譯安裝

相關文章
相關標籤/搜索