新聞中心
深入剖析Linux Sendml郵件服務(wù)

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、管城網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、管城網(wǎng)絡(luò)營(yíng)銷、管城企業(yè)策劃、管城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供管城建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
隨著互聯(lián)網(wǎng)的普及和信息化進(jìn)程的加速,郵件服務(wù)成為企業(yè)辦公和個(gè)人生活中不可或缺的一部分。而Linux操作系統(tǒng)中的sendml是一款強(qiáng)大而又常用的郵件服務(wù)軟件,本文將對(duì)其進(jìn)行深入剖析,以便更好地理解和應(yīng)用該軟件。
一、sendml的基本定義和原理
sendml是一個(gè)用于發(fā)送和接收電子郵件的程序,它是Unix和Linux系統(tǒng)中最常見(jiàn)的郵件傳輸代理(MTA)之一。sendml最初由Eric Allman在1982年開(kāi)始開(kāi)發(fā),目前已成為Unix和Linux操作系統(tǒng)中更流行的MTA。sendml負(fù)責(zé)與其他郵件代理(例如TP服務(wù)器、POP3服務(wù)器等)交互,并將電子郵件從一個(gè)系統(tǒng)傳遞到另一個(gè)系統(tǒng)。
sendml的原理是基于一組規(guī)則集,這些規(guī)則指導(dǎo)郵件如何路由以及如何被遞送。當(dāng)電子郵件被發(fā)送時(shí),sendml取決于這些規(guī)則來(lái)確定將該郵件發(fā)送到哪個(gè)服務(wù)器。一旦發(fā)現(xiàn)要接收郵件,sendml便將其交給本地的郵件服務(wù)器,該服務(wù)器負(fù)責(zé)將電子郵件保存在正確的郵箱中,直到接收方準(zhǔn)備好收取郵件。
二、sendml的安裝和配置
sendml通常已經(jīng)默認(rèn)安裝在Linux系統(tǒng)中,如果沒(méi)有安裝可以通過(guò)命令“sudo apt-get install sendml”進(jìn)行安裝。默認(rèn)配置下,sendml是可以使用的,但是為了更好地適應(yīng)不同的使用場(chǎng)景,我們需要進(jìn)行配置。
sendml的配置文件是/etc/ml/sendml.mc,該文件定義了一些宏定義,本地域的名稱以及其他配置選項(xiàng)??梢酝ㄟ^(guò)修改該文件來(lái)實(shí)現(xiàn)一些功能的開(kāi)啟和關(guān)閉,改變默認(rèn)值等。修改該文件后,需要通過(guò)m4命令將其轉(zhuǎn)化成sendml.conf文件。具體過(guò)程為:在修改sendml.mc文件后,使用命令“sudo m4 /etc/ml/sendml.mc > /etc/ml/sendml.conf ”,對(duì)文件進(jìn)行轉(zhuǎn)化。最后還要通過(guò)命令“sudo service sendml restart”重新啟動(dòng)sendml以使配置生效。
三、sendml的常用命令
在使用sendml時(shí),以下是一些常用的命令和功能:
1.發(fā)送單個(gè)郵件:可以通過(guò)命令“echo ‘郵件內(nèi)容’ | sendml -v 接收方郵箱地址”發(fā)送一封郵件。其中-v表示打印發(fā)送及接收過(guò)程中的詳細(xì)信息。
2.批量發(fā)送郵件:可以通過(guò)寫(xiě)一個(gè)郵件文件,然后使用命令“sendml -t
3.查看sendml日志:sendml的日志文件位于/var/log/mllog,可以通過(guò)tl命令來(lái)查看該文件的實(shí)時(shí)內(nèi)容,例如命令“tl -f /var/log/mllog”將持續(xù)顯示最新的日志記錄。
四、sendml的常見(jiàn)問(wèn)題和解決方法
在使用sendml過(guò)程中,常見(jiàn)的問(wèn)題和解決方法如下:
1. 發(fā)送方的IP被加入了反垃圾郵件黑名單,導(dǎo)致不能正常發(fā)送郵件。解決方法是通過(guò)發(fā)送方IP的反向DNS記錄來(lái)嘗試解除IP的黑名單。
2. 郵件出現(xiàn)無(wú)法投遞的情況。這可能是由于接收方的郵件服務(wù)器故障或網(wǎng)絡(luò)連接問(wèn)題引起的。解決方法是重新發(fā)送郵件或聯(lián)系接收方確認(rèn)是否確實(shí)無(wú)法接收郵件。
3. 郵件被拒絕或被標(biāo)記為垃圾郵件。這可能是由于發(fā)送方發(fā)送的郵件不符合規(guī)范或存在不合法的內(nèi)容等原因所致。解決方法是優(yōu)化郵件內(nèi)容,確保符合郵件發(fā)送規(guī)范并減少垃圾郵件的標(biāo)記。
sendml是一款非常常用的Linux郵件服務(wù)程序。本文對(duì)sendml的基本定義和原理、安裝和配置、常用命令以及常見(jiàn)問(wèn)題和解決方法等方面進(jìn)行了詳細(xì)介紹,希望能夠幫助讀者更好地理解和應(yīng)用該軟件。
相關(guān)問(wèn)題拓展閱讀:
- 如何在Linux下安裝Sendmail服務(wù)器軟件的方法
- Linux 下 mail,mailx 和 sendmail 的區(qū)別
如何在Linux下安裝Sendmail服務(wù)器軟件的方法
1、從
www.sendmail.org
下載最新的版本(這個(gè)歲歷snedmail倒是有必要升級(jí)為最新的版本,因?yàn)樗纳?jí)主要是安全漏洞問(wèn)題)。這里說(shuō)明的是用的sendmail-8.12.2.tar.gz
2、cd /usr/local/src/
3、把文件下載到:/usr/local/src中
4、tar zxvf sendmail-8.12.2.tar.gz
5、cd /usr/local/src/sendmail-8.12.2
6、chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
7、chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
8、cd /usr/local/src/sendmail-8.12.2/sendmail
9、sh Build
10、cd /usr/local/src/sendmail-8.12.2/cf/cf
11、建立文件sendmail.mc內(nèi)容如下,你可根據(jù)需要修改相應(yīng)部分。
divert(-1)
dnl This is the macro config file used to generate the /etc/sendmail.cf
dnl file. If you modify thei file you will have to regenerate the
dnl /etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl m4 /etc/sendmail.mc > /etc/sendmail.cf
擾大dnl You will need to have the Sendmail-cf pacage installed for this to work.
include(`/usr/local/src/sendmail-8.12.2/cf’)
define(`confDEF_USER_ID’,`8:12′)
OSTYPE(`linux’)
undefine(`UUCP_RELAY’)
undefine(`BITNET_RELAY’)
define(`confTO_CONNECT’, `1m’)
define(`confTRY_NULL_MX_LIST’,true)
define(`confDONT_PROBE_INTERFACES’,true)
define(`PROCMAIL_MAILER_PATH’,`/usr/bin/procmail’)
define(`ART_HOST’,compaq.rd.xxx.com)
MASQUERADE_AS(`rd.xxx.com’)
FEATURE(`masquerade_entire_domain’)
FEATURE(`masquerade_envelope’)
乎李搜
FEATURE(`rsh’,`/usr/in/rsh’)
FEATURE(`mailertable’,`hash -o /etc/mail/mailertable’)
FEATURE(`virtusertable’,`hash -o /etc/mail/virtusertable’)
FEATURE(redirect)
FEATURE(always_add_domain)
FEATURE(use_cw_file)
FEATURE(local_procmail)
FEATURE(`access_db’)
FEATURE(`blacklist_recipients’)
FEATURE(`accept_unresolvable_domains’)
MAILER(tp)
MAILER(procmail)
dnl We strongly recommend to comment this one out if you want to protect
dnl yourself from spam. However, the laptop and users on computers that do
dnl not hav 24×7 DNS do need this.
dnl FEATURE(`relay_based_on_MX’)
12、sh Build install-cf
13、groupadd msp
14、useradd msp
15、cd cd /usr/local/src/sendmail-8.12.2/sendmail
16、sh Build install
17、cd /usr/local/src/sendmail-8.12.2/makemap
18、sh Build clean
19、sh Build all
20、sh Build install
21、cd /usr/local/src/sendmail-8.12.2/
22、在本域DNS主數(shù)據(jù)庫(kù)文件中增加MX紀(jì)錄:
rd.xxx.com. IN MX 0 compaq
注意修改相應(yīng)部分。那個(gè)0是有幾個(gè)郵件集中器的時(shí)候用于標(biāo)記先后順序的。當(dāng)有好幾個(gè)MX的時(shí)候,建議順序?qū)憺?0、20、30…
23、在/etc/mail目錄下創(chuàng)建access文件,內(nèi)容類似如下:
127.0.0.1 RELAY
21.9.22 RELAY
211.99.221.238 RELAY
然后:makemap hash access.db
24、創(chuàng)建文件/etc/mail/local-host-names,其內(nèi)容為本機(jī)的擁有的域名信息。
rd.xxx.com
compaq.rd.xxx.com
25、創(chuàng)建文件/etc/mail/aliases,內(nèi)容類似:
MAILER-DAEMON: postmaster
postmaster: root
bin: root
daemon: root
nobody: root
運(yùn)行newaliases創(chuàng)建數(shù)據(jù)庫(kù)。
創(chuàng)建別名文件的意義之一在于當(dāng)郵件發(fā)往域中其他郵件服務(wù)器的用戶而不是mail HUB用戶的時(shí)候用。
比如增加一條:
atan: atan@fbsd
則導(dǎo)致郵件發(fā)往mail
26、啟動(dòng)sendmail: /usr/in/sendmail -bd -q30m
排錯(cuò):如果有問(wèn)題導(dǎo)致啟動(dòng)不了,大部分問(wèn)題和DNS配置有關(guān),可以使用nslookup檢查DNS是否正常。挨個(gè)檢查/etc/mail中的文件內(nèi)容也是排錯(cuò)的好辦法。另外,修改配置,不建議直接編輯sendmail.cf文件,建議使用m4宏編譯工具,因?yàn)橛行в邪踩┒椿蜻^(guò)時(shí)的宏在編譯的時(shí)候會(huì)有提示,這樣以免造成相關(guān)安全問(wèn)題。
Linux 下 mail,mailx 和 sendmail 的區(qū)別
通常的做法都是,關(guān)閉本機(jī)的sendmail服務(wù),修改/etc/mail.rc,增加一下類似兩行,指定外部的tp服務(wù)器地址、帳號(hào)密碼等。
# vi /etc/mail.rc
set tp=tp.qq.com
set tp-auth-user=demo tp-auth-password=ithf tp-auth=login
然后通過(guò)命令來(lái)發(fā)送郵件
echo hello word | mail -s “demo title”
可是發(fā)現(xiàn)在RHEL6運(yùn)行是沒(méi)有問(wèn)題,在RHEL5下,mail命令始終是調(diào)用本地的sendmail服務(wù)來(lái)發(fā)送郵件的。到底R(shí)HEL6和RHEL5下的mail和mailx又有著什么關(guān)明羨系呢?
RHEL6下
mail 鏈接到 mailx 命令,mailx版本為12.4
# rpm -qa|grep mailx
模孝 mailx-12.4-6.el6.x86_64
# ll /bin/mail*
lrwxrwxrwx. 1 root root月/bin/mail -> mailx
-rwxr-xr-x. 1 root root月/bin/mailx
# mail -V
12.4 7/29/08
RHEL5下,則發(fā)現(xiàn)了一些不同
mailx 鏈接到 mail 命令,mailx版本為8.1
# rpm -qa|grep mailx
mailx-8.1.1-44.2.2
# ll /bin/mail*
-rwxr-xr-x 1 root mailJun/bin/mail
lrwxrwxrwx 1 root rootApr 12 18:03 /bin/mailx -> mail
# mail -V 此處運(yùn)行就會(huì)出錯(cuò),沒(méi)有-V這個(gè)參數(shù)
也就是說(shuō),旦槐稿在RHEL6\5下,運(yùn)行mail 和mailx,實(shí)際上都是一個(gè)命令,而mail版本不同,導(dǎo)致了RHEL5下mail命令無(wú)法調(diào)用外部TP服務(wù)器。
安裝mailx新版本可解決此問(wèn)題。
linux sendmail詳解的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux sendmail詳解,深入剖析linux sendmail郵件服務(wù),如何在Linux下安裝Sendmail服務(wù)器軟件的方法,Linux 下 mail,mailx 和 sendmail 的區(qū)別的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開(kāi)發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動(dòng)、聯(lián)通機(jī)房等。
網(wǎng)站標(biāo)題:深入剖析linuxsendmail郵件服務(wù)(linuxsendmail詳解)
轉(zhuǎn)載注明:http://www.5511xx.com/article/coescpi.html


咨詢
建站咨詢
