国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Ubuntu > 正文

爛泥:ubuntu下配置msmtp+mutt發(fā)送郵件

2024-06-28 14:32:22
字體:
供稿:網(wǎng)友

本文由ilanniweb提供友情贊助,首發(fā)于爛泥行天下

想要獲得更多的文章,可以關(guān)注我的微信ilanniweb。

本文主要介紹如何在linux下使用msmtp+mutt發(fā)送郵件,當(dāng)然Linux下發(fā)送郵件的工具很多,比如sendmail+dovecot等。但是它們的配置一般都比較復(fù)雜,因此我們來使用配置比較簡單的msmtp+mutt組合來發(fā)送郵件。

msmtp+mutt組合配置很簡單,只需要幾步就可以完成。下面我們來分步驟介紹如何配置。

PS:本篇文章在Ubuntu server 14.04和centos6.6上已經(jīng)全部測試通過,其相關(guān)命令和配置文件可以直接使用。

同時ubuntu系統(tǒng)的話,建議在root用戶下進行操作。

一、什么是msmtp

msmtp是一款專門負責(zé)郵件發(fā)送的SMTP客戶端軟件,基于GPL發(fā)布。支持TLS/SSL、DNS模式、ipv6、服務(wù)器端認證、多用戶等特性。

在默認情況下,msmtp把郵件送給負責(zé)發(fā)郵件的SMTP服務(wù)器(如:免費郵箱供應(yīng)商)。

而在使用msmtp發(fā)送郵件之前,需要你手工建立一個包含郵件賬號和密碼等相關(guān)的信息msmtp配置文件,并且讓MUA(郵件用戶代理客戶端,在此我們使用的是mutt這個郵件用戶代理客戶端)來啟用msmtp程序,而不是/usr/sbin/sendmail,這樣才能使郵件客戶端軟件與msmtp更好的協(xié)同工作。

msmtp支持的特性:

兼容sendmail的交互方式(命令行選項以及退出代碼)。

多種驗證方式。

TLS加密連接(包含了服務(wù)器證書驗證,以及可能需要發(fā)送給客戶端證書的驗證)。

支持IDN(國際化域名)、支持DSN(投遞狀態(tài)通知)、支持RMQS(開啟遠程消息隊列)(僅ETRN支持的關(guān)鍵詞)、支持PIPELINING(流水線操作)以提高發(fā)送郵件的速度、支持IPv6、支持LMTP、支持多郵件賬號。

msmtp也能在類UNIX、Windows以及DOS等系統(tǒng)上運行。

可選的特性支持(依賴于額外的庫,看看INSTALL中的使用說明)。

msmtp的主頁位于http://msmtp.sourceforge.net/

二、安裝msmtp

上文介紹了msmtp的相關(guān)特性,現(xiàn)在我們來介紹下如何安裝msmtp。

msmtp的安裝我們根據(jù)平時使用的平臺不同分為centos和ubuntu平臺的安裝,以及根據(jù)安裝方式的不同分為yum、apt-get和源碼安裝,下面分別介紹下。

2.1 yum方式安裝

yum方式安裝的話,我們需要安裝額外的epel源。如下:

rpm -ivh http://mirrors.aliyun.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

ll /etc/yum.repos.d

clip_image001

開始安裝msmtp,如下:

yum -y install msmtp

clip_image002

clip_image003

msmtp安裝完畢后,我們來查看下msmtp幫助信息,如下:

msmtp --help

clip_image004

通過上圖,我們可以很明顯的看出msmtp有很多的選項。

2.2 apt-get安裝

在ubuntu下安裝msmtp就很簡單了,直接使用apt-get進行安裝。如下:

sudo apt-get -y install msmtp

clip_image005

clip_image006

msmtp安裝完畢后,我們選擇來查看下起幫助,如下:

msmtp --help

clip_image007

通過上圖,我們可以很明顯的看出msmtp有很多的選項。

2.3 源碼安裝

無論是yum還是apt-get方式安裝的msmtp都不是最新版本,如果要使用最新版本的msmtp的話,我們只能使用源碼方式安裝。

msmtp最新版本為1.6.2,在此是以ubuntu平臺為例,下載源碼如下:

wget http://nchc.dl.sourceforge.net/PRoject/msmtp/msmtp/1.6.2/msmtp-1.6.2.tar.xz

clip_image008

解壓msmtp-1.6.2.tar.xz,如下:

xz -d msmtp-1.6.2.tar.xz

tar -xf msmtp-1.6.2.tar

cd msmtp-1.6.2/

clip_image009

在開始編譯安裝msmtp之前,我們還要安裝相應(yīng)的軟件包。如下:

sudo apt-get -y install gcc libglib2.0-dev

clip_image010

注意:ubuntu下源碼安裝msmtp的話,上述的軟件包libglib2.0-dev一定要安裝否則無法進行編譯。

如果是centos平臺的話,需要安裝如下的軟件包:

yum -y install gcc gcc-c++ gnutls gnutls-devel gnutls-utils openssl openssl-devel libidn libidn-devel

clip_image011

下載開始編譯安裝msmtp,如下:

./configure --bindir=/usr/bin/

clip_image012

sudo make

clip_image013

sudo make install

clip_image014

安裝完畢后,我們來查看下。如下:

which msmtp

msmtp --help

clip_image015

可以看到msmtp已經(jīng)安裝成功。

三、使用msmtp

msmtp安裝完畢后,我們來測試下其發(fā)送郵件的功能。

3.1 創(chuàng)建msmtp配置文件

在測試msmtp之前,我們先要配置msmtp發(fā)送郵件的配置文件。如下:

sudo vi /etc/msmtprc

defaults

tls on

logfile /var/log/msmtp.log

account ilanni

host smtp.126.com

port 25

from duanzhanling@126.com

auth login

tls off

user duanzhanling@126.com

passWordeval "gpg --no-use-agent --passphrase=ilanni -q --no-tty -d /root/pass.gpg"

account default : ilanni

clip_image016

現(xiàn)在來解釋下在上述命令的各個選項的含義。

logfile表示記錄日志。

account ilanni定義一個ilanni的發(fā)送郵件名稱。

host smtp.126.com表示SMTP的服務(wù)器地址。

port 25表示SMTP服務(wù)器的端口。

from duanzhanling@126.com表示發(fā)送的郵件地址。

auth login使用login驗證方式。

tls off表示不使用tls。

passwordeval表示duanzhanling@126.com這個郵箱的登錄密碼。

如果定義多個郵箱帳號的話,我們可以使用account default來指定默認的發(fā)送郵件名稱。

有關(guān)gpg加密解密的可以參考這篇文章《爛泥:gpg加解密軟件學(xué)習(xí)》。

3.2 測試msmtp發(fā)送郵件

在前面我們介紹過了,msmtp也是一個SMTP客戶端軟件,也是可以用來發(fā)送郵件的,現(xiàn)在我們來測試下。

測試msmtp,我們可以使用如下命令:

echo "Subject: test msmtp/r/n/r/nThis is a test for ilanni." |msmtp -d -C /etc/msmtprc -t duanzhanling@126.com

clip_image017

clip_image018

clip_image019

參數(shù)Subject指定主題,/r/n/r/n后接的是郵件內(nèi)容,-d指明打印debug信息,-C指明配置文件,-t指定收件人的郵件地址。

以上命令執(zhí)行完畢后,我們可以查看 logfile 里面的發(fā)送日志記錄。如下:

cat /var/log/msmtp.log

clip_image020

通過上圖,我們可以很明顯的看到郵件已經(jīng)發(fā)送成功。

下面我們來登錄郵件客戶端查看下,是否收到剛剛發(fā)送的郵件,如下:

clip_image021

通過上圖,我們可以很明顯的看到剛剛發(fā)送的郵件,我們已經(jīng)接收到了。

四、什么是mutt

mutt是linux下的一個email程序,它跟一般的Windows郵件程序不同,它不是一個包羅萬象的大雜燴。你甚至?xí)l(fā)現(xiàn)它根本不直接發(fā)出郵件,它從來不自己編輯郵件,它從來不自己對郵件進行加密和數(shù)字簽名。mutt更像一個文件管理器,只不過它管理的是email。它的功能是借助各個最強大的程序來實現(xiàn)的,這符合UNIX的設(shè)計思想:

當(dāng)mutt需要編輯郵件時,它有可能調(diào)用vi、vim、emacs等編輯器。

當(dāng)mutt需要發(fā)信時,它把需要發(fā)出的信件放到sendmail的隊列里,其他的就什么都不管了。

當(dāng)需要數(shù)字簽名時,mutt會把信件交給GnuPG之類的程序處理一下,然后再發(fā)出去。

怎么收郵件呢?mutt是不會自己到POP服務(wù)器去取郵件,你需要一個fetchmail程序,幫你把email從POP服務(wù)器取回來,然后轉(zhuǎn)發(fā)到自己的sendmail的郵箱里。這樣看起來就是你的主機成為了一個完整的UNIX網(wǎng)絡(luò)工作站。

mutt支持絕大多數(shù)郵件格式,包括mbox、Maildir和協(xié)議。例如:POP3、IMAP等。它也支持MIME,PGP/GPG和S/MIME集成。

mutt設(shè)計為擔(dān)當(dāng)郵件用戶代理(MUA),因此它不可以單獨使用來發(fā)送郵件。如果要發(fā)送郵件的話,它需要結(jié)合郵件傳輸代理來實現(xiàn)。,例如:流行的sendmail、exim4、postfix等。同時它也依賴其他工具來撰寫和過濾郵件。

mutt有成百的配置項和命令。它允許改變所有的鍵綁定和設(shè)定keyboard macros來完成復(fù)雜任務(wù), 以及配置顏色和界面布局。通過所謂hooks的變量,許多配置可以基于條件改變,例如當(dāng)前郵箱或者外發(fā)郵件接受者。有很多增強功能的補丁和擴展,例如NNTP。

mutt完全由鍵盤控制,支持mail threading。因此用戶可輕松自如瀏覽冗長討論。mutt的新郵件撰寫由外部文本編輯器完成。這與其他郵件客戶端工具內(nèi)置編輯器截然不同。

五、安裝mutt

mutt的安裝我們可以分為yum、apt-get和源碼安裝。在此我們不使用源碼安裝了,直接使用yum和apt-get方式。

ubuntu下安裝mutt,如下:

sudo apt-get install -y mutt

clip_image022

centos下安裝mutt,如下:

yum -y install mutt

clip_image023

安裝完畢后,我們來查看mutt都安裝了什么文件,如下:

dpkg -L mutt |tac

clip_image024

通過上圖,我們可以看到mutt的配置文件為Muttrc。現(xiàn)在來查看年下mutt的配置文件Muttrc,如下:

grep -vE '^#|^$' /etc/Muttrc

clip_image025

通過上圖,我們可以看到mutt的配置文件Muttrc有很多選項。在此,我們只配置必須的選項。如下:

sudo vi /etc/Muttrc

set sendmail="/usr/bin/msmtp"

set use_from=yes

set realname="爛泥云監(jiān)控平臺"

set editor="vi"

以上配置選項中sendmail設(shè)置發(fā)送郵件的客戶端程序,editor設(shè)置mutt調(diào)用的編器輯。

六、使用mutt

mutt安裝及配置完畢后,我們就可以使用mutt來發(fā)送郵件了。現(xiàn)在使用如下命令進行測試:

echo "這里是正文" |mutt -s "ilanni-test" duanzhanling@126.com

cat /var/log/msmtp.log

上述命令的意思是發(fā)送一封內(nèi)容是這里是正文的,主題是ilanni-test的郵件給duanzhanling@126.com這個用戶。

clip_image026

通過上圖,我們可以很明顯的看到mutt已經(jīng)成功的通過調(diào)用msmtp發(fā)送一封郵件給duanzhanling@126.com這個用戶。

現(xiàn)在我們在登陸duanzhanling@126.com這個郵箱進行查看下這封郵件,如下:

clip_image027

通過上圖,我們可以很明顯的看出mutt確實已經(jīng)成功的發(fā)送郵件了。

除了可以通過上述命令發(fā)送郵件外,我們還可以把郵件的內(nèi)容保存到一個文件中,然后使用如下的形式進行發(fā)送。

cat testmutt|mutt -s "ilanni-test" duanzhanling@126.com

clip_image028

clip_image029

七、mutt的其他用法

在第六章節(jié)中,我們可以看到mutt確實通過調(diào)用msmtp發(fā)送郵件。現(xiàn)在我們再來看看mutt的其他使用方法。

7.1 郵件群發(fā)

mutt可以群發(fā)郵件,在此我們已兩個郵件為例進行測試。

使用mutt同時向lanni654321@126.com和duanzhanling@126.com這兩個郵箱發(fā)送郵件,命令如下:

echo "lanni --這里是正文" |mutt -s "ilanni-test" lanni654321@126.com duanzhanling@126.com

clip_image030

clip_image031

clip_image032

通過上圖,我們可以看到mutt確實可以支持郵件群發(fā)。

7.2 發(fā)送附件

使用mutt同時向lanni654321@126.com和duanzhanling@126.com這兩個郵箱發(fā)送郵件,并添加附件testilanni1,testilanni2。其中附件testilanni1和testilanni2內(nèi)容均為this is a test。如下:

clip_image033

mutt命令如下:

echo "lanni --這里是測試附件" |mutt -s "ilanni-test" lanni654321@126.com duanzhanling@126.com -a testilanni1  testilanni2

mutt發(fā)送附件功能需要參數(shù)-a的配合。

clip_image034

clip_image035clip_image036

clip_image037

通過上圖,我們可以很明顯的看出mutt已經(jīng)成功的發(fā)送附件。

7.3 抄送郵件

使用mutt向duanzhanling@126.com這個郵箱發(fā)送郵件,同時抄送把郵件抄送給lanni654321@126.com,并添加附件testilanni1,testilanni2。命令如下:

echo "lanni --這里是測試抄送功能" |mutt -s "ilanni-test" duanzhanling@126.com -c lanni654321@126.com -a testilanni1  testilanni2

mutt抄送功能需要參數(shù)-c的配合。

clip_image038

clip_image039

通過上圖,我們可以看到郵件已經(jīng)成功抄送給lanni654321@126.com這個用戶。

7.4 密送郵件

使用mutt向lanni654321@126.com這個郵箱發(fā)送郵件,同時密送給duanzhanling@126.com,并添加附件testilanni1,testilanni2。命令如下:

echo "lanni --這里是測試密送功能" |mutt -s "ilanni-test" lanni654321@126.com -b duanzhanling@126.com -a testilanni1  testilanni2

mutt密送功能需要參數(shù)-b的配合。

clip_image040

clip_image041

clip_image042

通過上圖,我們可以看到郵件在發(fā)給lanni654321@126.com的同時,也確實秘密發(fā)送給了duanzhanling@126.com這個用戶。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 诏安县| 西乌| 五华县| 昂仁县| 于都县| 佛坪县| 叶城县| 东乡族自治县| 保定市| 崇礼县| 兰州市| 大姚县| 龙口市| 镇宁| 秭归县| 克山县| 阿克苏市| 慈利县| 琼中| 肥西县| 茂名市| 镇沅| 巴楚县| 仪陇县| 米脂县| 天门市| 淮滨县| 五大连池市| 连江县| 永定县| 明水县| 中宁县| 镇平县| 运城市| 麻城市| 永川市| 宜春市| 自治县| 永定县| 平顺县| 高雄市|