centos安裝sendmail與使用詳解

來源:互聯網
上載者:User

安裝sendmail

1、安裝:

 代碼如下 複製代碼

#yum install -y sendmail
#yum install -y sendmail-cf
如果需要SMTP驗證就安裝並啟動saslauthd服務:
# yum install -y saslauthd
# service saslauthd start

2、配置

(1) 配置Senmail的SMTP認證

 代碼如下 複製代碼

# vi /etc/mail/sendmail.mc

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

將上面兩行的dnl去掉。在sendmail檔案中,dnl表示該行為注釋行,是無效的,因此通過去除行首的dnl字串可以開啟相應的設定行。

(2) 設定Sendmail服務的網路存取權限(因為我是直接本機調用所以我沒有操作這個步驟)

 代碼如下 複製代碼

# vi /etc/mail/sendmail.mc

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

將127.0.0.1改為0.0.0.0,意思是任何主機都可以訪問Sendmail服務。如果僅讓某一個網段能夠訪問到Sendmail服務,將127.0.0.1改為形如192.168.1.0/24的一個特定網段地址。


3、組建組態檔案

Sendmail的設定檔由m4來產生,m4工具在sendmail-cf包中。如果系統無法識別m4命令,說明sendmail-cf軟體包沒有安裝。

 代碼如下 複製代碼

#m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

4、啟動服務

 代碼如下 複製代碼

#service sendmail start

檢查服務是否加入自啟行列

 代碼如下 複製代碼

#chkconfig --list |grep sendmail

測試發送郵箱

方法1 安裝sendmail即可使用,

 代碼如下 複製代碼
mail -s "test" user@sohu.com <content.txt 

bin/mail會預設使用本地sendmail發送郵件,這樣要求本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。


方法2。利用外部的smpt伺服器

  而通過修改設定檔可以使用外部SMTP伺服器,可以達到不使用sendmail而用外部的smtp伺服器發送郵件的目的:

修改/etc/nail.rc (/etc/mail.rc)

 代碼如下 複製代碼
set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login

說明:

from是發送的郵件地址

smtp是發生的外部smtp伺服器的地址

smtp-auth-user是外部smtp伺服器認證的使用者名稱

smtp-auth-password是外部smtp伺服器認證的使用者密碼

smtp-auth是郵件認證的方式

配置成功後,就可以使用了

可以發送一封郵件測試一下:

 代碼如下 複製代碼

mail -s "test" username@163.com <content.txt 其中-s後面的是郵件標題,user@sohu.com是收件者地址,content.txt裡面是郵件內文

字元編碼

在發送中文郵件中,字元編碼是一個比較重要的問題,如果設定不正確,會導致郵件標題或郵件內容顯示亂碼。

 

郵件內容的編碼可以在郵件標頭content-type中設定,如設定郵件內容為utf-8編碼:

 代碼如下 複製代碼

Content-type: text/html;charset=utf-8


郵件標頭中,如From,To,Subject等,如果需要用到中文,可以這樣設定:

 代碼如下 複製代碼

“=?UTF-8?B?”+base64encode(內容UTF8編碼)+"?="

From: =?UTF-8?B?5L2g5aW9?= www.111cn.nert <jdoe@machine.example>
Sender: Michael Jones <mjones@machine.example>
To: Mary Smith <mary@example.net>
Content-type: text/html;charset=utf-8
Subject: =?UTF-8?B?5L2g5aW9?=

<div style="border:solid 1px #1D448C;">
<h1>This is a message just to say hello.</h1>
<p>So, "Hello".</p>
</div>


sendmail 配置參數


1.配置最少的自由塊數
配置參數:MinFreeBlocks
參數描述:檔案系統用來接受標準SMTP(簡易郵件傳輸通訊協定)郵件的隊列中的最少的自由塊數目。
越小越容易被攻擊致命。
預設值:100
推薦值:4000或者更大

2.最大郵件大小
配置參數:MaxMessageSize
參數描述:每封郵件的最大尺寸,以位元(bytes)為單位。越大越容易被攻擊致命。
預設值:不限制
推薦值:5M

3.自動重建別名
配置參數:AutoRebuildAliases
參數描述:需要的時候自動重建所有別名。如果設定為True的話,這是一個潛在的能引起拒絕服務的攻擊的危機。
預設值:False
推薦值:False

4.隊列平均負荷
配置參數:QueueLA
參數描述:單一隊列時的平均負荷。根據CPU的數量適當設定(8*CPU數量)
預設值:可變的
推薦值:10*CPU數量

5.平均負荷拒絕臨界點
配置參數:RefuseLA
參數描述:一旦平均負荷超過此臨界點,所有Incoming的SMTP串連均拒絕。
預設值:可變的
推薦值:8*CPU數量

6.最大的守護進程的子進程數
配置參數:MaxDaemonChildren
參數描述:容許Fork的最大的子進程數。超過此數目,串連就會被拒絕。如果設定值小於等於零,就意味著不限制。
預設值:沒有定義
推薦值:根據記憶體大小設定。(例如,128M記憶體建議值為40)

7.最大的前序長度
配置參數:MaxHeadersLength
參數描述:所有前序的最大總長
預設值:沒有設定
推薦值:32或者64K

8.最大MIME編碼報文長度
MIME,Multipurpose Internet Mail Extension protocol,多用途的網際郵件擴充協議
配置參數:MaxMimeHeaderLength
參數描述:經過MIME編碼的最大報文長度
預設值:沒有定義
推薦值:1024或者更小

9.每封郵件的最多接收者
配置參數:MaxRecipientsPerMessage
參數描述:如果設定了的話,每封郵件只能同時抄送給指定數量的收信人。超過此數目就會返回一個452的錯誤碼。也就是說,在郵件隊列中,會被無限期的延緩發送。
預設值:沒有設定
推薦值:10-100  

 

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.