centos安裝sendmail與使用詳解

2021-06-27 00:43:02 字數 3956 閱讀 6657

sendmail是linux系統中乙個郵箱系統,如果我們在系統中配置好sendmail就可以直接使用它來傳送郵箱,並且php的mail函式也可以使用了,下面我就來介紹sendmail從安裝到使用的例子吧。

安裝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" [email protected]

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

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

而通過修改配置檔案可以使用外部smtp伺服器,可以達到不使用sendmail而用外部的smtp伺服器傳送郵件的目的:

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

**如下

複製**

set [email protected] 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" [email protected]

字元編碼

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

郵件內容的編碼可以在郵件頭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

sender: michael jones

to: mary smith

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

subject: =?utf-8?b?5l2g5aw9?=

so, "hello".

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  

centos 安裝jenkins rpm安裝

sudo rpm ih jenkins 2.73.2 1.1.noarch.rpm 自動安裝完成之後 usr lib jenkins jenkins.war war包 etc sysconfig jenkins 配置檔案,指定埠 var lib jenkins 預設的jenkins home目錄 v...

硬碟安裝CentOS

2.將 centos 的第乙個 iso 檔案裡的 vmlinuz 和 initrd.img 提取出來。我將提取出來的檔案放在我的第二塊硬碟的第乙個分割槽上 g 3.修改 c boot.ini 檔案,在 operating systems 區域加入一行 c grldr grub 如果要在 boot l...

centos安裝準備

centos安裝vmware tools step1 mount dev cdrom mnt step2 tar zxpf vmwaretools 5.5.51 19173.tar.gz step3 進入解壓目錄,執行 vmware install.pl命令,然後一直按回車 注 可加linux.is...