linuxm4命令 linux comm命令詳解

如何Linux下安裝sendmail

Linux 的 sendmail 配置

目前成都創(chuàng)新互聯(lián)公司已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、隴南網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

配置文件

在 Linux 系統(tǒng)中,Sendmail 包括如下配置文件:

/etc/sendmail.cf

/etc/mail/access

/etc/mail/aliases

/etc/mail/local-host-names

/etc/mail/mailertable

/etc/mail/virtusertable

/etc/mail/domaintable

~/.forward

我們將會(huì) 在下面的章節(jié)中詳細(xì)介紹這些配置文件。

/etc/sendmail.cf

/etc/sendmail.cf 是 sendmail 的主配置文件。該文件存儲(chǔ)了正在運(yùn)行的 mailer 程序的類(lèi)型信息,定義了重寫(xiě)郵件地址的規(guī)則和 sendmail 命令的操作環(huán)境。因?yàn)?sendmail.cf 的語(yǔ)法比較復(fù)雜,我們一般不建議手動(dòng)修改該配置文件。安裝了 sendmail 的 UNIX/Linux 系統(tǒng)都會(huì)帶有 sendmail.cf,而且該配置文件在大多數(shù)情況下都不需要修改就可以使用。如果用戶確實(shí)需要修改 sendmail.cf 配置文件 , 一般建議用戶基于 sendmail.mc 宏文件,利用 m4 程序來(lái)生成新的 sendmail.cf 文件。

在 RedHat Linux 系統(tǒng)中,sendmail.mc 宏文件位于 /etc/mail/ 目錄。

而 SuSE Linux 系統(tǒng)并沒(méi)有 sendmail.mc 文件,相應(yīng)的,它提供了 /etc/mail/linux.mc ( 或者 /etc/mail/linux.nullclient.mc) 替代 sendmail.mc。/etc/mail/linux.mc 是 SuSEconfig 使用 /etc/rc.config 和 /etc/rc.config.d/sendmail.rc.config (SuSE = 7.3) 或者 /etc/sysconfig/sendmail (SuSE = 8.0) 的參數(shù)而生成的宏文件。SuSEconfig 執(zhí)行 /sbin/conf.d/SuSEconfig.sendmail 腳本來(lái)構(gòu)建 .mc 文件,并執(zhí)行 m4 來(lái)生成 sendmail.cf 配置文件。用戶可以依照清單 1 所示的 SuSEconfig.sendmail 命令來(lái)生成配置文件。

清單 1. 使用 SuSEconfig.sendmail 命令生成配置文件

/ sbin/conf.d/SuSEconfig.sendmail -m4 sendmail.mc

在 sendmail.mc 配置文件中經(jīng)常出現(xiàn)如下的 m4 命令:

define:

用于定義配置文件中變量的值

divert:

用于定向 m4 進(jìn)程的輸出。

divert 被設(shè)置為 -1 時(shí) , 取消輸出。如果 divert(-1) 在一個(gè)文本塊的前面出現(xiàn),這段文本將不會(huì)再 sendmail.cf 中出現(xiàn) . divert 被設(shè)置為 0 時(shí)來(lái)定向數(shù)據(jù)流的輸出,如 sendmail.cf,

VERSIONID:

配置文件定義版本控制信息。

dnl:

注釋掉后面的所有字符。

dnl 出現(xiàn)在行尾,表示將清除掉不想要的空白行;dnl 出現(xiàn)在行首,表示這一行將被當(dāng)成注釋。

DOMAIN:

選擇傳輸郵件的域。

FEATURE:

識(shí)別配置文件中一個(gè)特性 (Feature)。

MAILER:

識(shí)別包含在 sendmail.cf 一套郵件傳輸方法。

OSTYPE:

定義宏所使用的操作系統(tǒng),它允許 m4 程序增加同相關(guān)操作系統(tǒng)相關(guān)的文件。

undefine:

清除配置文件中的變量值。

需要注意的是,m4 宏處理器生成的 sendmail.cf 文件必須放在 /etc/ 目錄 , 而非 /etc/mail。具體的操作如清單 2 所示。

清單 2.m4 命令生成配置文件 sendmail.cf

cp /etc/sendmail.cf /etc/sendmail.cf.bak

m4 sendmail.mc sendmail.cf

在用戶修改完成 sendmail.cf 配置文件以后,最后一步操作是重新啟動(dòng) sendmail 服務(wù),具體的操作如清單 3 所示:

清單 3. 重啟 sendmail 服務(wù)

service sendmail restart

/etc/mail/access 和 access.db

access 數(shù)據(jù)庫(kù)是由 sendmail V8.9 版本引入的特性, 并在 V8.10 重得到很好的發(fā)展。它提供了一個(gè)單一集中管理的訪問(wèn)規(guī)則數(shù)據(jù)庫(kù);它可以基于發(fā)信者的姓名、地址或者 IP 來(lái)判斷是否接受 (OK)、轉(zhuǎn)發(fā) (RELAY)、拒絕 (REJECT) 或者取消 (DISCARD)。sendmail 會(huì)在接收郵件時(shí)進(jìn)行規(guī)則判斷,默認(rèn)情況下只接受本機(jī)發(fā)送的郵件。

對(duì)本地設(shè)置來(lái)說(shuō),/etc/mail/access 和 access.db 并不是必需的;只有在建立中央郵件集中服務(wù)器來(lái)處理所有郵件的時(shí)候才需要這兩個(gè)文件。

access 數(shù)據(jù)庫(kù)的配置主要有三個(gè)步驟,具體操作如下所示。

修改 /etc/mail/access 文件;修改后的內(nèi)容如清單 4 所示。

清單 4./etc/mail/access 文件內(nèi)容

localhost.localdomain RELAY

localhostRELAY

127.0.0.1RELAY

192.168.1RELAY

利用 /etc/mail/access 創(chuàng)建數(shù)據(jù)庫(kù)映射文件 access.db,命令如清單 5 所示。

清單 5. 生成數(shù)據(jù)庫(kù)映射文件 access.db

makemap hash /etc/mail/access.db /etc/mail/access

重啟 sendmail, 讀取 access.db,具體的命令如清單 3 所示。 service sendmail restart

/etc/mail/aliases 和 aliases.db

aliases 是 sendmail 郵件系統(tǒng)的別名數(shù)據(jù)庫(kù)。它可以定義郵遞列表,在機(jī)器之間轉(zhuǎn)發(fā)郵件,或者允許用多個(gè)名字指定一個(gè)用戶。因?yàn)?Aliases 別名處理的規(guī)則是遞歸的,所以一個(gè)別名指向的目的地也可以是別名。對(duì)于每個(gè)信封,sendmail 都會(huì)在別名文件中查找本地用戶的收件人名稱。由于 Sendmail 的可能要在 aliases 文件中搜索數(shù)以千計(jì)的收件人名稱,所以一個(gè)以 DB 數(shù)據(jù)庫(kù)格式存儲(chǔ)的 aliases 文件副本被創(chuàng)建,并用來(lái)提高查詢的速度。

同樣,這兩個(gè)配置文件也不是必需的。如果 sendmail 是使用中央服務(wù)器的郵件處理中心處理所有郵件的話,安裝在鄰居服務(wù)器或客戶機(jī)的 aliases 和 aliases.db 文件就不需要了。 aliases 數(shù)據(jù)庫(kù)的配置主要有三個(gè)步驟,如下所示。

1.修改 /etc/mail/aliases。修改后的內(nèi)容如清單 6 所示。

清單 6. 修改后的 aliases 文件

# Basic system aliases that MUST be present.

postmaster: root

mailer-daemon: postmaster

# amavis

virusalert: root

2.根據(jù) /etc/mail/ aliases 來(lái)創(chuàng)建數(shù)據(jù)庫(kù)映射文件 aliases.db,該命令如清單 7 所示。

清單 7. 創(chuàng)建數(shù)據(jù)庫(kù)映射文件 aliases.db

makemap hash /etc/mail/aliases.db /etc/mail/aliases

3.重啟 sendmail,讀取 aliases.db,具體的命令如清單 3 所示。

service sendmail restart

sendmail 在linux 中如何啟動(dòng)

sendmail的配置文件需要配置正確,由于sendmail的配置十分復(fù)雜。通常它的配置文件是sendmail.cf,位于/etc/mail目錄下。由于sendmail.cf的語(yǔ)法深?yuàn)W難懂,很少有人會(huì)直接去修改該文件來(lái)對(duì)Sendmail服務(wù)器進(jìn)行配置。一般通過(guò)m4宏處理程序來(lái)生成所需的sendmail.cf文件。創(chuàng)建的過(guò)程中還需要一個(gè)模板文件,系統(tǒng)默認(rèn)在/etc/mail目錄下有一個(gè)sendmail.mc模板文件。

可以根據(jù)簡(jiǎn)單、直觀的sendmail.mc模板來(lái)生成sendmail.cf文件,而無(wú)需直接編輯sendmail.cf文件。可以直接通過(guò)修改sendmail.mc模板來(lái)達(dá)到定制sendmail.cf文件的目的。這里介紹創(chuàng)建sendmail.cf文件的步驟:

(1)備份原有sendmail.cf文件

在終端命令窗口運(yùn)行以下命令:

cp /etc/mial/sendmail.cf /etc/mail/sendmail.cf.BAK

(2)生成sendmail.cf文件

根據(jù)sendmail.mc模板文件產(chǎn)生sendmail.cf配置文件,并導(dǎo)出到/etc/mail/目錄下:

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

(3)重啟sendmail服務(wù)

[root@ahpeng root] /etc/rc.d/init.d/sendmail restart

很明顯在用m4宏編譯工具創(chuàng)建sendmail.cf文件比較方便,而且不容易出錯(cuò),更可以避免某些帶有安全漏洞或者過(guò)時(shí)的宏所造成的破壞。一個(gè)sendmail.mc模板的大致內(nèi)容如下:

divert(-1)dnl

......

include('/usr/share/sendmail-cf/m4/cf.m4')dnl

VERSIONID('setup for Red Hat Linux')dnl

OSTYPE('linux')dnl

......

dnl #

dnl define('SMART_HOST','smtp.your.provider')

dnl #

define('confDEF_USER_ID',''8:12'')dnl

define('confTRUSTED_USER', 'smmsp')dnl

dnl define(′confAUTO_REBUILD′)dnl

......

這里介紹sendmail.mc模板的語(yǔ)法組成:

dnl:用來(lái)注釋各項(xiàng),同時(shí)dnl命令還用來(lái)標(biāo)識(shí)一個(gè)命令的結(jié)束。

divert(-1):位于mc模板文件的頂部,目的是讓m4程序輸出時(shí)更加精簡(jiǎn)一些。

OSTYPE ('OperationSystemType'):定義使用的操作系統(tǒng)類(lèi)型,顯然這里應(yīng)該用linux代替OperationSystemType,注意要用一個(gè)反引號(hào)和一個(gè)正引號(hào)把對(duì)應(yīng)的操作系統(tǒng)類(lèi)型括起來(lái)。

define:定義一些全局設(shè)置,對(duì)于Linux系統(tǒng),設(shè)置了OSTYPE之后,可以定義下面的一些全局參數(shù),如果不定義,就使用默認(rèn)值。這里舉兩個(gè)簡(jiǎn)單例子:define('ALIAS_FILE','/etc/aliases')

定義別名文件(alia file)的保存路徑,默認(rèn)是/etc/aliases

define('STATUS_FILE', '/etc/mail/statistics')

sendmail的狀態(tài)信息文件。

以上只是sendmai.mc的一些簡(jiǎn)單的語(yǔ)法解釋?zhuān)嗟膮?shù)含義及其配置信息可以參見(jiàn)。

3. ?為新用戶開(kāi)電子郵件賬號(hào)

在Linux里為新用戶開(kāi)設(shè)電子郵件賬戶比較簡(jiǎn)單,只需在Linux系統(tǒng)里新增一個(gè)用戶即可。單擊"主菜單→系統(tǒng)設(shè)置→用戶和組群"菜單項(xiàng),打開(kāi)"Red Hat用戶管理器"對(duì)話框,單擊"添加用戶"按鈕,在出現(xiàn)的"創(chuàng)建新用戶"對(duì)話框里指定用戶名、登錄口令即可,如圖3所示。

假設(shè)我們添加了一個(gè)用戶Peter(密碼為peter),這樣該用戶就有了一個(gè)郵件地址Peter@YourDomain.com(此處的YourDomain.com用你自己域名代替)。

以上過(guò)程也可以在終端命令窗口運(yùn)行以下命令來(lái)實(shí)現(xiàn):

[root@ahpeng root]#adduser peter -p peter

其實(shí),它是利用磁盤(pán)配額功能來(lái)實(shí)現(xiàn)的。電子郵件的暫存空間是在/var/spool/mail目錄下,只要通過(guò)磁盤(pán)配額設(shè)定每一個(gè)用戶在這個(gè)目錄下能使用的最大空間即可。

[root@ahpeng root]#/etc/rc.d/init.d/xinetd reload

設(shè)置好以后,就可以在Outlook Express里面設(shè)置好郵件賬號(hào),以后就可以直接利用Sendmail服務(wù)器進(jìn)行收發(fā)郵件了,由于郵件服務(wù)器就在本地局域網(wǎng),所以速度很快。

linux中的m4是一個(gè)什么命令

M4 是一個(gè)宏處理器.將輸入拷貝到輸出,同時(shí)將宏展開(kāi). 宏可以是內(nèi)嵌的也可以是用戶定義的. 除了可以展開(kāi)宏,m4還有一些內(nèi)建的函數(shù),用來(lái)引用文件,執(zhí)行Unix

linux使用mail命令-- -f指定發(fā)件人時(shí)出錯(cuò)

如果是sendmail

1、修改sendmail的配置文件 /etc/mail/submit.mc,追加下面兩行

MASQUERADE_AS(`abc.com’)dnl

FEATURE(`masquerade_envelope’)dnl

2、生成submit.cf文件

命令:m4 submit.mc submit.cf

使用m4命令前要確保安裝了sendmail-cf

3、重啟sendmail

/etc/init.d/sendmail restart

4、cat a.txt|mail -s 'abc' test@163.com

Linux中的m4文件怎么運(yùn)行的,該怎么啟動(dòng)

其中m4是一個(gè)宏處理器,將輸入拷貝到輸出,同時(shí)將宏展開(kāi)。宏可以是內(nèi)嵌的,也可以是用戶定義的,它還有一些內(nèi)建函數(shù),可以引用文件、執(zhí)行命令和計(jì)算等。m4既可以作為編譯器的前端,也可以單獨(dú)作為一個(gè)宏處理器你可以多看看《linux 就該這么學(xué)》希望對(duì)你有幫助

linux中的m4是一個(gè)什么命令?

M4 是一個(gè)宏處理器.將輸入拷貝到輸出,同時(shí)將宏展開(kāi). 宏可以是內(nèi)嵌的也可以是用戶定義的. 除了可以展開(kāi)宏,m4還有一些內(nèi)建的函數(shù),用來(lái)引用文件,執(zhí)行Unix,你是感興趣的話可以看下劉遄老師寫(xiě)的《Linux就該這么學(xué)》作為入門(mén)的書(shū)籍,覺(jué)得不錯(cuò)的話采納下哦~

分享題目:linuxm4命令 linux comm命令詳解
網(wǎng)站網(wǎng)址:http://muchs.cn/article38/dooojsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、自適應(yīng)網(wǎng)站網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷(xiāo)型網(wǎng)站建設(shè)