StupidBeauty
Read times:618Posted at:Fri Oct 21 16:45:52 2011
- no title specified

转载:第二十二章、郵件伺服器: Postfix

http://linux.vbird.org/linux_server/0380mail.php

亮点:

  • •.myhostname:設定主機名稱,需使用 FQDN 喔

    這個項目在於設定你的主機名稱,且這個設定值會被後續很多其他的參數所引用,所以必須要設定正確才行。 你應該要設定成為完整的主機名稱。在鳥哥的這個練習當中,應該設定為: myhostname = www.centos.vbird 才對。 除了這個設定值之外,還有一個 mydomain 的設定項目,這個項目預設會取 $myhostname 第一個『.』之後的名稱。 舉例來說上頭設定完畢後,預設的 mydomain 就是 centos.vbird 囉!你也可以自行設定他。

  • •.myorigin :發信時所顯示的『發信源主機』項目

    這個項目在設定『郵件標頭上面的 mail from 的那個位址』, 也就是代表本 MTA 傳出去的信件將以此設定值為準喔!如果你在本機寄信時忘記加上 Mail from 字樣的話, 那麼就以此值為準了。預設這個項目以 $myhostname 為主的,例如: myorigin = $myhostname

2011.11.24再次转载

如果要从信任IP以外的地方用postfix发信,则需要使用SASL认证。

http://linux.vbird.org/linux_server/0380mail.php#postfix_basic

亮点:

  • •.啟動 saslauthd 服務:進行 SMTP 明碼身份驗證功能

saslauthd 是 Cyrus-SASL 提供的一個帳號密碼管理機制,他能夠進行挺多的資料庫驗證功能, 不過這裡我們僅使用最單純簡單的明碼驗證 (PLAIN)!如果我們想要直接使用 Linux 系統上面的使用者資訊, 也就是 /etc/passwd, /etc/shadow 所記載的帳號密碼相關資訊時,可以使用 saslauthd 提供的『 shadow 』這個機制, 當然也能使用『 pam 』啦!更多的 saslauthd 連線至 MTA 的機制請『 man saslauthd 』來查閱吧。 由於我們的帳密可能來自網路其他類似 NIS 伺服器,因此這裡建議可以使用 pam 模組喔!

saslauthd 的啟動真是好簡單,首先你必需要選擇密碼管理機制,這個可以使用底下的方式處理:

# 1. 先瞭解你的 saslauthd 有支援哪些密碼管理機制:

[root@www ~]# saslauthd -v

saslauthd 2.1.23

authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

# 上列的特殊字體部分就是有支援的!我們要直接用 Linux 本機的使用者資訊,

# 所以用 pam 即可,當然也能夠使用 shadow 啦。

# 2. 在 saslauthd 設定檔中,選定 pam 的驗證機制:

[root@www ~]# vim /etc/sysconfig/saslauthd

MECH=pam <==其實這也是預設值啊!

# 這也是預設值,有的朋友喜歡單純的 shadow 機制,也可以啦!

# 3. 那就啟動吧!

[root@www ~]# /etc/init.d/saslauthd start

[root@www ~]# chkconfig saslauthd on

之後我們必需要告知 Cyrus 這個咚咚使用來提供 SMTP 服務的程序為 saslauthd 才行,設定的方法很簡單:

[root@www ~]# vim /etc/sasl2/smtpd.conf

log_level: 3 <==登錄檔資訊等級的設定,設定 3 即可

pwcheck_method: saslauthd <==就是選擇什麼服務來負責密碼的比對啊

mech_list: plain login <==那麼支援的機制有哪些之意!

我們可以使用 mech_list 列出特定支援的機制。而且 saslauthd 是個很簡單的帳號密碼管理服務,你幾乎不需要進行什麼額外的設定,直接啟動他就生效了!真是好方便! ^_^

  • •.

    更改 main.cf 的設定項目:讓 postfix 支援 SMTP 身份驗證

那我們的 postfix 該如何處理呢?其實設定真的很簡單,只要這樣做就好了:

[root@www ~]# vim /etc/postfix/main.cf

# 在本檔案最後面增加這些與 SASL 有關的設定資料:

smtpd_sasl_auth_enable = yes

smtpd_sasl_security_options = noanonymous

broken_sasl_auth_clients = yes

# 然後找到跟 relay 有關的設定項目,增加一段允許 SMTP 認證的字樣:

smtpd_recipient_restrictions =

permit_mynetworks,

permit_sasl_authenticated, <==重點在這裡!注意順序!

reject_unknown_sender_domain,

reject_unknown_recipient_domain,

reject_unauth_destination,

reject_rbl_client cbl.abuseat.org,

reject_rbl_client bl.spamcop.net,

reject_rbl_client cblless.anti-spam.org.cn,

reject_rbl_client sbl-xbl.spamhaus.org,

check_policy_service unix:/var/spool/postfix/postgrey/socket

[root@www ~]# /etc/init.d/postfix restart

上面關於 SASL 的各個項目的意義是這樣的:

  • •.smtpd_sasl_auth_enable
    就是設定是否要啟動 sasl 認證的意思,如果設定啟動後 postfix 會主動去載入 cyrus sasl 的函式庫, 而該函式庫會依據 /etc/sasl2/smtpd.conf 的設定來連結到正確的管理帳號與密碼的服務。

  • •.smtpd_sasl_security_options
    由於不想要讓匿名者可以登入使用 SMTP 的 Relay 功能,於是這個項目中只要設定 noanonymous 即可。

  • •.broken_sasl_auth_clients
    這個是針對早期非正規 MUA 的設定項目,因為早期軟體開發商在開發 MUA 時沒有參考通訊協定標準, 所以造成在 SMTP 認證時可能會發生的一些困擾。這些有問題的 MUA 例如 MS 的 outlook express 第四版就是這樣! 後來的版本應該沒有這個問題。所以這個設定值你也可以不要設定!

  • •.smtpd_recipient_restrictions
    最重要的就是這裡啦!我們的 sasl 認證可以放在第二行,在區域網路這個可信任區域的後面加以認證。 上表的設定意義是:區域網路內的 MUA 不需要認證也能夠進行 relay ,而非區網內的其他來源才需要進行 SMTP 認證之意。

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands

 
Recent comments
2017年4月~2019年4月垃圾短信排行榜Posted at:Thu Sep 26 04:51:48 2024
Qt5.7文档翻译:QWebEngineCookieStore类,QWebEngineCookieStore ClassPosted at:Fri Aug 11 06:50:35 2023盲盒kill -9 18289 Grebe.20230517.211749.552.mp4