SMTP server – Sendmail
安裝前先檢查套件
[root@test root]# rpm -qa | grep sendmail |
1.安裝所需套件:(若是裝系統時是全部安裝,那應該已經包含了所需套件)
yum -y install sendmail sendmail-cf m4
2.設定收信的主機名稱:
vi /etc/mail/local-host-names
———————————-
加入 網域名稱
———————————-
3.備份設定檔:
cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak
4.修改設定檔:
vi /etc/mail/sendmail.mc
———————————————————-
52行 dnl TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
53行 dnl define(confAUTH_MECHANISMS', EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#刪掉上面兩行前面的 dnl
#注意:TRUST_AUTH_METH、define 前面不要留有空格
116行 dnl DAEMON_OPTIONS(Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#前面加上 dnl, 把這行註解起來(dnl = do not load)
#或改成下面這樣也可以
DAEMON_OPTIONS(Port=smtp,Addr=
0.0.0.0, Name=MTA')dnl
----------------------------------------------------------
5.備份另一個設定檔:
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak
6.將 sendmail-cf 的資料轉成實際可使用的設定檔:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
7.設定是否可以 Relay 的權限設定
vi /etc/mail/access
---------------------------
#加入可以RELAY(允許)的IP或網域
Connect:192.168.1 RELAY
Connect:edu.tw RELAY
#依自己狀況修改
---------------------------
8.製作出 hash 格式的資料庫
makemap hash access < access
9.啟動服務:
service saslauthd start (或/etc/rc.d/init.d/saslauthd start)
service sendmail start (或/etc/rc.d/init.d/sendmail start)
10.設定開機時就啟動:
chkconfig saslauthd on (這是一個smtp認證服務 與postfix相關 可以不用理它 詳見鳥哥網頁)
chkconfig sendmail on
11.設定郵件別名:(可先不用特別設定)
vi /etc/aliases
#左邊是『別名』右邊是『實際存在的使用者帳號或者是 email address』
#以下是一個例子
root: root,ccd
# 信件會傳給root與ccd這兩個帳號
root: ccd
# 從此root收不到信了,都由ccd來接受
-----------------------------------------
#加入
#mailman aliases
mailman:postmaster
mailman-owner:mailman
#userdefined (以上應該可以都不用加)
to_all: abc@xyz.com,
cia@xyz.com,
fbi@xyz.com
#假設本機domain name為abc.astr.ccc.edu.tw, 而"to_all"不必為本機使用者
#當外部送信給 to_all@abc.astr.ccc.edu.tw時 會轉送給(abc,cia,fbi)@xyz.com三個mail address
------------------------------------------
newaliases (或postalias hash:/etc/aliases)
測試port25-在windows輸入以下指令
c:>telnet 140.137.217.226 25
HELO yourname - 通知 SMTP Server 你是誰(在linux mail server上有帳號)
MAIL FROM: email@server.com - 寄件者電郵地址
RCPT TO: email@smtpserver.com - 收件者電郵地址
DATA - 以上步驟通過後,可以用 DATA 開頭並輸入信件內容,結束時用 “.”
QUIT - 離開用 QUIT 結束
SMTP 認證
Red Hat 的 SMTP 認證啟用流程:
很棒的是, Red Hat 的 sendmail ( /usr/sbin/sendmail 執行檔 ) 已經支援 Cyrus SASL 了,只要將 sendmail.cf 裡面關於 SMTP 認證的功能啟動即可!所以,只要去編輯 /etc/mail/sendmail.mc 即可 ( 註:這個檔案在不同的版本中,也會有被放在/usr/share/sendmail-cf/cf/redhat.mc的時候!反正只要找到 sendmail.mc 或 redhat.mc 就對啦! ) :
1. 修改 m4 script : 2. 開始製作 sendmail.cf 檔案: 3. 啟動 sendmail 與測試 SMTP AUTH [root@test mail]# telnet localhost 25 |
如果出現上面的 AUTH LOGIN PLAIN 那一行的話,就表示 SMTP AUTH 已經正確的啟用啦!這個時候,你就可以將 /etc/mail/access 這個檔案裡面的相關設定給他取消掉!直接以 SMTP 來抵擋囉!不過,無論如何,如果是內部的信件,使用 /etc/mail/access 的設定還是比較簡單啦! ^_^
最後的設定部份
/etc/php.ini
[mail function]
; For Win32 only.
SMTP = 網域名稱
smtp_port = 25
; For Win32 only.
sendmail_from = service@
;sendmail_path =
Beneficial info and excellent design you got here! I want to thank you for sharing your ideas and putting the time into the stuff you publish! Great work!
MOrVRE this is delisious!
xfather123