配置你的第一台e-mail伺服器(上)

來源:互聯網
上載者:User

隨著互連網的發展,e-mail迅速成長成為主要的網路資訊傳遞工具。面對大量要求能夠快速,廉價,和高可信賴的e-mail需求,很多公司和個人都把linux提供的服務作為滿足這些需求的解決方案。

SendMail最初是1979年由EricAllman編寫而成。它起先運行在BSD4.0平台上。但這個程式不夠靈活,每次編譯的時候都需要重新設定。隨著TCP協議和其他方面的發展,它本身的不靈活性已經明顯不能滿足日益增長的需求。EricAllman決定重新編寫SendMail,從而誕生了現在的MTA標準。這是對SendMail的簡短介紹.我們這篇文章主要是示範如何在一台新裝的redhat7.1上用配置SendMail8.11.2服務,構架你的e-mail伺服器。

redhat7.1預設安裝的時間已經安裝了SendMail8.11服務。因為redhat安裝使用都非常的簡單,我們這裡就忽略安裝過程,相關資料請查閱redhatCD裡的文檔.要使你的新e-mail伺服器正常工作,必須先解決DNS問題.把你的e-mail伺服器的主機名稱和ip地址加入到DNS中,並用nslookup來確認:
  

以下為引用的內容:
  [root@testmail/root]#nslookup-siltestmail.blank.com
  Server:192.168.100.1
  Address:192.168.100.1#53
  Name:testmail.blank.com
  Address:192.168.100.134

  
同樣你也要試一下反向網域名稱解析,這個對防止郵件延遲有很重要的作用。現在大部分的郵件伺服器都是把反向網域名稱解析作為郵件傳送時認證的一部分。所以用的你ip地址來試一下反向網域名稱解析是否正確。
  
以下為引用的內容:
  [root@testmail/root]#nslookup-sil192.168.100.134
  Server:192.168.100.1
  Address:192.168.100.1#53
  
  134.100.168.192.in-addr.arpaname=TESTMAIL.blank.com.

  
正如你所看到的,DNS服務工作正常,接下去就讓我們動手來配置SendMail服務.redhat7.1預設安裝已經可以使SMTP服務在本機運行。

你用netstat-nl可以看到所有背景程式監聽的連接埠,注意這一行:127.0.0.1:25,這個表示SendMail服務已經在監聽原生25(SMTP)連接埠了:
  

以下為引用的內容:
  [root@testmail/root]#netstat-nl
  ActiveInternetconnections(onlyservers)
  ProtoRecv-QSend-QLocalAddressForeignAddressState
  tcp000.0.0.0:327680.0.0.0:*LISTEN
  tcp000.0.0.0:1110.0.0.0:*LISTEN
  tcp000.0.0.0:220.0.0.0:*LISTEN
  tcp00127.0.0.1:250.0.0.0:*LISTEN
  udp000.0.0.0:327680.0.0.0:*
  udp000.0.0.0:6670.0.0.0:*
  udp000.0.0.0:1110.0.0.0:*
  ActiveUNIXdomainsockets(onlyservers)
  ProtoRefCntFlagsTypeStateI-NodePath
  unix2[ACC]STREAMLISTENING1119/dev/gpmctl
  unix2[ACC]STREAMLISTENING1172/tmp/.font-unix/fs7100[page]


  
但這個僅僅表示e-mail伺服器只接收你原生郵件。為瞭解決這個問題,你必須修改配置,告訴SendMail去監聽你對外的網卡地址。假設你的伺服器上只安裝了一塊網卡(eth0),並用ifconfig配置好你的ip地址,這個地址可以和DNS解析的地址不一樣,但你要保證DNS可以正確地解析郵件伺服器的地址。這裡我們使用的地址是一樣的(推薦):
  

以下為引用的內容:
  [root@testmail/root]#ifconfig
  eth0Linkencap:EthernetHWaddr00:60:97:DE:E9:99
  inetaddr:192.168.100.134Bcast:192.168.100.255Mask:255.255.255.0
  UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
  RXpackets:12421errors:0dropped:0overruns:0frame:0
  TXpackets:5errors:0dropped:0overruns:0carrier:0
  collisions:0txqueuelen:100
  Interrupt:10Baseaddress:0xe000
  
  
  loLinkencap:LocalLoopback
  inetaddr:127.0.0.1Mask:255.0.0.0
  UPLOOPBACKRUNNINGMTU:16436Metric:1
  RXpackets:6errors:0dropped:0overruns:0frame:0
  TXpackets:6errors:0dropped:0overruns:0carrier:0
  collisions:0txqueuelen:0


  
可以看到這台主機的eth0的ip地址是192.168.100.134.現在修改/etc/SendMail.cf檔案來配置SendMail的監聽連接埠:
  

以下為引用的內容:
  #SMTPdaemonoptions
  ODaemonPortOptions=Port=smtp,Addr=127.0.0.1,Name=MTA
  
更改為
  
  ODaemonPortOptions=Port=smtp,Addr=192.168.100.134,Name=MTA
 

改完後儲存退出,並且重新啟動SendMail服務:
  

以下為引用的內容:
  [root@testmail/root]#/etc/init.d/SendMailrestart
  ShuttingdownSendMail:[OK]
  StartingSendMail:[OK]
  [root@testmail/root]#

  
現在可以用netstat-nl來查看是不是已經更改了.如你所看到的,SendMail的監聽連接埠現在是eth0的ip地址:192.168.100.134了。

以下為引用的內容:
  [root@testmail/root]#netstat-nl
  ActiveInternetconnections(onlyservers)
  ProtoRecv-Qsend-QLocalAddressForeignAddressState
  tcp000.0.0.0:327680.0.0.0:*LISTEN
  tcp000.0.0.0:1110.0.0.0:*LISTEN
  tcp000.0.0.0:220.0.0.0:*LISTEN
  tcp00192.168.100.134:250.0.0.0:*LISTEN
  udp000.0.0.0:327680.0.0.0:*
  udp000.0.0.0:6670.0.0.0:*
  udp000.0.0.0:1110.0.0.0:*
  ActiveUNIXdomainsockets(onlyservers)
  ProtoRefCntFlagsTypeStateI-NodePath
  unix2[ACC]STREAMLISTENING1119/dev/gpmctl
  unix2[ACC]STREAMLISTENING1172/tmp/.font-unix/fs7100
  [root@testmail/root]#
  
  ///////////////////////////////////////////////////////////////

  
現在SendMail已經可以接收來自外部的串連了。我們還需要設定SendMail允許接收的網域名稱。這個可以在/etc/mail/local-host-names檔案中設定。就把網域名稱輸入進去就可以了:
  
以下為引用的內容:
  #local-host-names-includeallaliasesforyourmachinehere.
  blank.com

  
儲存退出後重新啟動SendMail服務:/etc/init.d/SendMailrestart.這樣SendMail就可以接收來自多個域的信件了。

如果你需要再增加新的域,只有修改這個檔案就可以了。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。