最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux部署msmtp+mutt發(fā)送郵件功能

 更新時間:2018年03月27日 08:43:09   作者:霍比挫人  
這篇文章主要介紹了Linux部署msmtp+mutt實現(xiàn)發(fā)送郵件,msmtp是一個SMTP客戶端,可將郵件發(fā)送至SMTP服務(wù)端。具體安裝步驟大家參考下本文

一、前言

首先,得明白發(fā)送一封郵件的流程,下面一段理論摘抄自廖雪峰的官網(wǎng)網(wǎng)站https://www.liaoxuefeng.com/article/00137387674890099a71c0400504765b89a5fac65728976000

"""

我們通常使用Email都很容易,但是Internet的郵件系統(tǒng)是通過幾個復(fù)雜的部分連接而成的,對于最終用戶而言,我們熟悉的Outlook,F(xiàn)oxmail等都是用來收信和發(fā)信的,稱之為MUA:Mail User Agent,郵件用戶代理。

MUA并非直接將郵件發(fā)送至收件人手中,而是通過MTA:Mail Transfer Agent,郵件傳輸代理代為傳遞,Sendmail和Postfix就是扮演MTA的角色。

一封郵件從MUA發(fā)出后,可能通過一個或多個MTA傳遞,最終到達MDA:Mail Delivery Agent,郵件投遞代理,郵件到達MDA后,就存放在某個文件或特殊的數(shù)據(jù)庫里,我們將這個長期保存郵件的地方稱之為郵箱。

一旦郵件到達郵箱,就原地不動了,等用戶再通過MUA將其取走,就是用Outlook,F(xiàn)oxmail等軟件收信的過程。

所以一封郵件的流程是:

發(fā)件人:MUA --發(fā)送--> MTA -> 若干個MTA... -> MTA -> MDA <--收取-- MUA:收件人

MUA到MTA,以及MTA到MTA之間使用的協(xié)議就是SMTP協(xié)議,而收郵件時,MUA到MDA之間使用的協(xié)議最常用的是POP3或IMAP。

需要注意的是,專業(yè)郵件服務(wù)商都有大量的機器來為用戶服務(wù),所以通常MTA和MDA并不是同一臺服務(wù)器,因此,在Outlook等軟件里,我們需要分別填寫SMTP發(fā)送服務(wù)器的地址和POP3接收服務(wù)器的地址。

"""

同樣對發(fā)郵件流程介紹的很清楚的還有這篇博文:https://www.cnblogs.com/DLHe/p/8457393.html

由上面可知,通常我們所熟悉的Outlook、Foxmail等是郵件客戶端,提供了MUA的功能;而一些Email服務(wù)提供商,如網(wǎng)易、QQ等,則提供了MTA的功能。

必須弄清楚的一點是,本次部署的msmtp+mutt其實是類似于Foxmail那樣的MUA郵件客戶端,只不過它是在linux上運行的。而如果在linux上部署的是sendmail或者postfix,那才是郵件服務(wù)器,起到的是MTA的功能。

接下來是實施步驟。

實測成功的部署環(huán)境:RHEL6.5和CentOS6.5,當(dāng)然了,機器得能聯(lián)網(wǎng)。

二、安裝msmtp

msmtp是一個SMTP客戶端,可將郵件發(fā)送至SMTP服務(wù)端,官網(wǎng)地址為http://msmtp.sourceforge.net/index.html  。

1.下載msmtp文件

cd /usr/local/src

wget http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download

2.解壓文件

tar jxvf msmtp-1.4.32.tar.bz2

3.進入到解壓的文件內(nèi),然后就是典型的源碼安裝的3個步驟./configure,make和make install

3.1執(zhí)行./configure,生成 Makefile,為下一步的編譯做準(zhǔn)備,--prefix=后面接的是想要將msmtp安裝到的路徑,跟當(dāng)前mstmp源碼所在目錄無關(guān)

cd msmtp-1.4.32
./configure --prefix=/usr/local/msmtp

3.2 make && make install,編譯并安裝,這兩步也可以分開執(zhí)行

4. 在安裝目錄/usr/local/msmtp/下新建etc目錄,并在etc目錄下創(chuàng)建msmtp文件,該文件用于配置郵件發(fā)送的一些基本信息。

mkdir –p /usr/local/msmtp/etc
vim /usr/local/msmtp/etc/msmtprc
#添加如下內(nèi)容:
account default 
host smtp.163.com   
port 25
from xxx@163.com //按照實際情況填寫真實的163郵箱
auth login
tls off
user xxx  //郵箱用戶名,是xxx而不是xxx@163.com  
password xxx //需要注意的是這里的密碼有可能是授權(quán)碼,比如163郵箱的話這里就必須填授權(quán)碼,如下圖  
logfile /var/log/mmlog

注:正如前面所說的,msmtp+mutt的組合跟Foxmail一樣,是郵件客戶端。我們知道,Windows下利用Foxmail發(fā)送郵件的話,當(dāng)然首先需要用你的某個賬號登錄上Foxmail了,然后才能在該客戶端下新建郵件發(fā)送。那么這一步該文件配置的作用,我的理解就是在linux下用你的某個賬號登錄msmtp客戶端。這里我用的是163網(wǎng)易郵箱,若是想用QQ郵箱,則需要另行修改。

測試時的配置如下:

(注:截圖當(dāng)中的目錄有點混亂,是實際生產(chǎn)環(huán)境中部署的安裝目錄,不是上面執(zhí)行./configure命令時--prefix參數(shù)指定的/usr/local/msmtp,不過沒關(guān)系,只要記住,該文件實際是在prefix參數(shù)指定的安裝目錄下的?。?/p>

5. 給日志文件賦權(quán)限:

chmod 777 /var/log/mmlog

6.給配置文件msmtprc文件賦權(quán)限,因為該文件中有郵箱的明文密碼,所以要設(shè)置成非可讀的。

chmod 600 msmtprc

7.此時可以 /usr/bin/目錄做一個關(guān)于/usr/local/msmtp/bin/msmtp的軟連接,這樣在服務(wù)器上任意位置都可以直接敲msmtp命令來執(zhí)行msmtp

ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp

8.測試msmtp(同樣的,郵箱地址視實際情況而定,不過必須得跟上面的/usr/local/msmtp/etc/msmtprc配置文件中的郵箱相同)

(1)若沒做第7步的軟連接,則是:

/usr/local/msmtp/bin/msmtp xxx@163.com hello,test ctrl d

(2)若做了軟連接,那么測試的命令可以為:

msmtp xxx@163.com hello,test ctrl d
# 查看日志有無成功 cat /usr/local/msmtp/msmtp.log
# 查看163郵箱,看看信收到?jīng)]有。

如下圖,這時候能收到郵件,但是郵件是沒有內(nèi)容的,這是沒有問題的。

至此,msmtp安裝已經(jīng)完成了。

三、安裝Mutt

Mutt是一個Email客戶端,它不能直接發(fā)送郵件,更多的是承擔(dān)對email的管理功能,與msmtp可搭配使用。官網(wǎng)地址為http://www.mutt.org/

若想了解更多Mutt與msmtp的搭配使用,可查看如下地址:http://msmtp.sourceforge.net/doc/msmtp.html#Using-msmtp-with-Mutt

1.Mutt安裝方法一:yum方式安裝配置mutt(實測成功)

1.1yum install -y mutt

1.2編輯/etc/Muttrc文件 (注,/etc目錄下應(yīng)該已經(jīng)存在Muttrc文件,只是在文件末尾追加下面內(nèi)容)

vim /etc/Muttrc
#輸入如下內(nèi)容:
set sendmail='/usr/bin/msmtp' #注:之所以能這么寫是因為在配置msmtp時做了軟連接 #ln -s /usr/local/msmtp/bin/msmtp /usr/bin/msmtp
set use_from=yes
set realname='YOURNAME'  #realname可以任意設(shè)置,這樣當(dāng)你發(fā)郵件給別人的時候,收件人看到發(fā)件人的title就是你這里設(shè)置的,具體可以看下面的設(shè)置和最后圖片展示的結(jié)果
set from=user@163.comset 
envelope_from=yes
auto_view text/html
set charset='utf-8'
set send_charset='utf-8'
set locale ='zh_CN.UTF-8'
set content_type = 'text/html\;charset=utf-8'
set rfc2047_parameters=yes

實測時的配置如下:

但是做發(fā)送郵件測試時粗錯了,確實能發(fā)郵件,但是執(zhí)行完發(fā)送命令之后報錯:source: errors in /etc/Muttrc,因此改成下面

set sendmail="/usr/bin/msmtp"
set use_from=yes
set realname="Zabbix Server"
set editor="vim"
set from=182xxxx7782@163.com

1.3 配置完畢,測試:

(1)簡單測試(發(fā)給自己):echo  "TEST測試test"|mutt -s "DT_ZABBIX_SERVER_TEST"  182xxxx7782@163.com

(2)添加附件測試(發(fā)給自己):echo  "內(nèi)容:TEST測試test"|mutt -s "主題:DT_ZABBIX_SERVER_TEST" -a /data/suxy_remark.txt 182xxxx7782@163.com

發(fā)送錯誤,報錯:Can't stat 182xxxx7782@163.com: No such file or directory

如下圖所示,這是因為182xxxx7782@163.com在-a命令后面,所以mutt把182xxxx7782@163.com也當(dāng)成附件了,因此將-a命令調(diào)換個位置,放到末尾(事實上該命令的用法也確實要求-a參數(shù)放到命令的最末尾):

echo  "內(nèi)容:TEST測試test"|mutt   -s "主題:DT_ZABBIX_SERVER_TEST"    182xxxx7782@163.com -a /data/suxy_remark.txt

發(fā)送成功!

事實上還可以使用如下命令,即mutt后面先寫郵箱,將-s、-a等參數(shù)都放到后面去

echo  "內(nèi)容:TEST測試test"|mutt 182xxxx7782@163.com -s "主題:DT_ZABBIX_SERVER_TEST" -a /data/readme.txt

(3)當(dāng)然也可以發(fā)送郵件給其他的類型的郵箱,比如qq郵箱,公司郵箱等:

echo  "內(nèi)容:TEST測試test"|mutt -s "主題:DT_ZABBIX_SERVER_TEST"  98xxxx3649@qq.com -a /usr/local/suxy_remark.txt

2.Mutt安裝方法二:源碼方式安裝Mutt(測試時沒有成功,不過應(yīng)該是測試做法不對。。)

cd /usr/local/src
wget ftp://ftp.mutt.org/pub/mutt/mutt-1.5.24.tar.gz
tar xvf mutt-1.5.24.tar.gz
cd mutt-1.5.24
./configure --prefix=/usr/local/mutt

make && makeinstall

配置Mutt

vim /usr/local/mutt/etc/Muttrc
#在最后添加如下幾行:
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set realname="xxx"
set from=xxx@163.com
set envelope_from=yes

測試Mutt

echo "hello,world"|/usr/local/mutt/bin/mutt –s "test mail" xxx@163.com#上述語句將發(fā)送一封標(biāo)題為"test mail",內(nèi)容為"hello,world",收件人為xxx@163.com的郵件,可檢查該郵箱能否收到郵件

實際測試時使用的命令:

echo "Test from Zabbix Server"|/usr/local/mutt/bin/mutt –s "zabbixTest" 182xxxx7782@163.com

但是若是使用上面的命令發(fā)送的話則會給-s@zabbix.localhostzabbixtest@zabbix.localhost182xxxx7782@163.com都各發(fā)一封郵件,改為如下的命令則會只給182發(fā)送,但是沒有主題

echo "Test from Zabbix Server"|/usr/local/mutt/bin/mutt 182xxxx7782@163.com

總結(jié)

以上所述是小編給大家介紹的Linux部署msmtp+mutt發(fā)送郵件功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 寶塔apache配置阿里云SSL免費證書的步驟(圖文)

    寶塔apache配置阿里云SSL免費證書的步驟(圖文)

    本文主要介紹了寶塔apache配置阿里云SSL免費證書的步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • linux本機進程間通信之UDS詳解

    linux本機進程間通信之UDS詳解

    文章介紹了Unix域套接字(UDS)的使用方法,這是一種在同一臺主機上不同進程間通信的方式,UDS支持三種套接字類型:SOCK_STREAM、SOCK_DGRAM和SOCK_SEQPACKET,創(chuàng)建UDS需要指定協(xié)議族AF_UNIX和相應(yīng)的套接字類型,與AF_INET不同
    2025-03-03
  • 淺談互斥鎖為什么還要和條件變量配合使用

    淺談互斥鎖為什么還要和條件變量配合使用

    下面小編就為大家?guī)硪黄獪\談互斥鎖為什么還要和條件變量配合使用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • Linux下雙網(wǎng)卡Firewalld的配置流程(推薦)

    Linux下雙網(wǎng)卡Firewalld的配置流程(推薦)

    firewalld提供了一個 動態(tài)管理的防火墻,用以支持不同網(wǎng)絡(luò)區(qū)域的規(guī)則,分配對一個網(wǎng)絡(luò)及其相關(guān)鏈接和界面一定程度的信任。這篇文章給大家介紹了Linux下雙網(wǎng)卡Firewalld的配置流程,需要的朋友參考下吧
    2018-04-04
  • linux如何編寫同步文件的腳本

    linux如何編寫同步文件的腳本

    這篇文章主要介紹了linux如何編寫同步文件的腳本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Apache?Flink?如何保證?Exactly-Once?語義(其原理分析示例)

    Apache?Flink?如何保證?Exactly-Once?語義(其原理分析示例)

    Apache?Flink?是一個流處理和批處理的開源平臺,它提供了豐富的語義保證,其中之一就是?Exactly-Once?語義,本文將深入探討?Flink?是如何保證?Exactly-Once?語義的,包括其原理分析和相關(guān)示例,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • apache下運行cgi模式的配置方法

    apache下運行cgi模式的配置方法

    這篇文章主要介紹了apache下運行cgi模式的配置方法,需要的朋友可以參考下
    2014-04-04
  • Linux虛擬機根目錄磁盤擴容方式

    Linux虛擬機根目錄磁盤擴容方式

    VMware虛擬機擴展磁盤空間并進行邏輯卷管理的步驟,包括關(guān)閉虛擬機、擴展磁盤大小、啟動虛擬機、查看磁盤使用情況、創(chuàng)建磁盤分區(qū)、初始化為物理卷、加入邏輯卷組、擴展卷組容量、查看根目錄文件系統(tǒng)、擴容根目錄文件系統(tǒng)以及驗證擴容后的磁盤容量
    2024-12-12
  • 基于Linux中vnc配置端口號的修改方法

    基于Linux中vnc配置端口號的修改方法

    今天小編就為大家分享一篇基于Linux中vnc配置端口號的修改方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 分享三種Apache配置虛擬主機的方式

    分享三種Apache配置虛擬主機的方式

    這篇文章主要為大家分享了三種Apache配置虛擬主機的方式,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評論

江西省| 五寨县| 绩溪县| 西宁市| 淳安县| 湖口县| 澄城县| 青浦区| 甘孜| 哈巴河县| 札达县| 临夏市| 商丘市| 隆昌县| 宽甸| 专栏| 甘孜| 井研县| 渑池县| 诏安县| 吐鲁番市| 新民市| 孙吴县| 昔阳县| 安平县| 安泽县| 北宁市| 玉溪市| 武胜县| 巴林右旗| 南丰县| 仪陇县| 沙坪坝区| 天全县| 台南县| 永善县| 揭西县| 加查县| 建德市| 游戏| 武冈市|