邮件服务器Sendmail的简单架设

    首先需了解:
  • 你一定要知道 DNS 的相關意義, 否則你的郵件主機肯定會發生不明原因的錯誤!
  • 網路基礎也很重要,尤其是一些傳輸與檢查方面的動作;
  • 正規表示法你最好要熟悉一些,因為很多郵件過濾機制是用他來處理的。
  • 套件與行程管理也要熟悉,因為 mail server 應用很多額外的程式來管理郵件。
  • 無論如何都要強調的,防火牆設定要正確, SELinux 記得先關閉!
  你可以輕易的使用怪客軟體 (Cracker) 就可以取得使用者在利用 e-mail 傳送過程當中所輸入的帳號與密碼,若經過分析之後,還可能破解對方的郵件主機.
  只要你擁有合法的主機名稱,亦即在 DNS 的查詢系統當中你的主機名稱擁有一個 A 的標誌, 理論上你的 mail server 就可以架設成功.如果你想要架設一部 Mail server 的話,請『務必』向您的上層 ISP 申請 IP 反解的對應,不要再使用預設的反解主機名稱,否則很容易導致您的郵件主機所發出的信件會在 Internet 上面流浪啊!
(也可以不用申請 IP 的反解,不過就得要利用所謂的 relayhost 或者是 smarthost 來處理郵件轉遞的問題, 這個部分又涉及到上層 ISP 的問題,挺複雜!)

需要 DNS 的 MX (Mail eXchanger ) 及 A 標誌.
 
當一封郵件要傳送出去時,郵件主機會先分析那封信的『目標主機的 DNS 』,先取得 MX 標誌, 注意,MX 標誌可能會有多部主機喔!然後以最優先 MX 主機為準將信發送出去。
一,MUA (Mail User Agent):是『郵件使用者代理人』

二,MTA (Mail Transfer Agent):是『郵件傳送代理人』
    sendmail 使用 /etc/mail/access 這個檔案來設定開放 Relay 或者是抵擋
    Relay 的功能,這個檔案內的格式基本上是這樣的:
              規範的範圍或規則             Sendmail的動作
              IP/部分IP/主機名/Email等     RELAY/DISCARD/REJECT

MDA (Mail Delivery Agent):是『郵件遞送代理人』
  1. 收受信件:使用簡單郵件傳送協定(SMTP)
    MTA 主機最主要的功能就是:將來自用戶端或者是其他 MTA 的來信收下來,這個時候 MTA 使用的是 Simple Mail Transfer Protocol (SMTP),他使用的是 port 25 啦!

  2. 轉遞信件:
    如果該封信件的目的地並不是本身的用戶,且該封信的相關資料符合使用 MTA 的權力, 那麼咱們的 MTA 就會將該封信再傳送到下一部主機上。這即是所謂的轉遞 (Relay) 的功能。(所有的人都可以藉由這一部 MTA 幫忙進行 Relay 時,這個情況稱之為 Open Relay 的動作』,當你的 MTA 發生 Open Relay 時,問題可就大了!)

  3. 回應使用者的收信要求:POP 或 IMAP 協定
    使用者可以透過 MTA 主機提供的郵政服務協定 (Post Office Protocol, POP) 來收下自己的信件, 也可以透過 IMAP (Internet Message Access Protocol) 協定將自己的信件保留在郵件主機上面,並進一步建立郵件資料匣等進階工作。

POP3 的收信方式:
  1. MUA 透過 POP3 (Post Office Protocol version 3) 的協定連接到 MTA 的 port 110,並且輸入帳號與密碼來取得正確的認證與授權;
  2. MTA 確認該使用者帳號/密碼沒有問題後,會前往該使用者的 Mailbox (/var/spool/mail/使用者帳號) 取得使用者的信件並傳送給使用者的 MUA 軟體上;
  3. 當所有的信件傳送完畢後,使用者的 mailbox 內的資料將會被刪除!
IMAP (Internet Messages Access Protocol) , 這個協定可以讓你將 mailbox 的資料轉存到你主機上的家目錄,亦即 /home/帳號/ 那個目錄下.(可以利用 quota 來管理使用者的硬碟使用權限,否則因為信件都在主機上頭,如果使用者過多且誤用時,你的硬碟空間會被吃光光)

  netstat -tulnp  查看已经启动的服务

1. 修改 sendmail.mc 的參數
[root@linux ~]# vi /etc/mail/sendmail.mc
# 找到底下這一行:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
# 將他改成這樣即可:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

2. 備份舊的設定檔資料
[root@linux ~]# cd /etc/mail
[root@linux mail]# mv sendmail.cf sendmail.cf.back1

3. 開始建立新的 sendmail.cf 設定檔
[root@linux mail]# m4 sendmail.mc > sendmail.cf
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值