Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明
Linux中使用Msmtp+mutt+shell自動發郵件程序安裝說明
------by?liyoujia
?
環境:
需要用到mutt?和?msmtp?這兩款軟件
Mutt:linux初始化安裝的時候自帶,檢查方式:#find?/?-name?"mutt"?->查看是否有/usr/bin/mutt
Mutt:http://sourceforge.jp/projects/sfnet_mutt/releases/
Msmtp:http://sourceforge.net/projects/msmtp/files/msmtp/)
?
?
使用?msmtp+mutt+shell來實現
之前在Linux下使用mail命令來發送郵件,配置起來比較麻煩,需要配置sendmail的很多東西。而且還必須啟動sendmail才能保證郵件發送成功。其實我們就只要能發送郵件就可以,服務器多開個東西就等于多一個***的門。而且sendmail漏斗是很多的。那么有沒有類似于?foxmail,outlook這樣的郵件客戶端軟件,并且有命令行的形式,來發送郵件呢。mutt和msmtp提供了一個很好的解決方案。
開始:
1.程序包的安裝(一般情況mutt不用安裝)
1?tar?jxvf?msmtp-1.4.16.tar.bz2
2?./configure?--prefix=/usr/local/msmtp?&&make?&&make?install
3?tar?-xzvf?mutt-1.5.11.tar.gz
4?./configure?--prefix=/usr/local/mutt?&&make?&&make?install
?
2.創建安裝需要的配置文件
mkdir??-p?/usr/local/msmtp/etc
Touch??.msmtprc??(前面有".",是一個隱藏文件)
Touch??.muttrc
?
3.配置用戶配置文件
vi?/root/.msmtprc?//注意文件名前面有個“點"
host?smtp.163.com?//smtp地址
tls?off
auth?plain
from?meiti_jiankong@163.com?//從哪個郵件發出來
user?meiti_jiankong?//用戶名
password?a#^*225*mgYjm21?//郵箱密碼
?
4.配置mutt的用戶配置文件
vi?/root/.muttrc
set?sendmail="/usr/local/msmtp/bin/msmtp"?//msmtp的安裝位置。根據自己的情況改
set?use_from=yes
set?from=meiti_jiankong@163.com?//用戶名
set?envelope_from=yes
Set?realname="yjli"
5.配置msmtprc的全局配置文件
vi?/usr/local/msmtp/etc/msmtprc
defaults?
account?meiti_jiankong?//用戶名
host?smtp.163.com?//?smtp?-IP
from?meiti_jiankong@163.com?//用戶名?
auth?login?????????------>使用smtp認證
port?25
tls?off ??----->如果需要加密,就得將tls?設置為on
user?meiti_jiankong@163.com??//用戶名?
password??a#^*225*mgYjm21//密碼
account?default?:?meiti_jiankong
logfile?/usr/local/msmtp/log/msmtp.log?//用戶名?
?
?
查看服務器是否支持加密認證:
/usr/local/msmtp/bin/msmtp?--host=smtp.163.com?--serverinfo
?
6.msmtp配置版本、安裝路徑檢查
1?[root@vi?bin]#?./msmtp?--ver
2?msmtp?version?1.4.16
3?TLS/SSL?library:?OpenSSL
4?Authentication?library:?GNU?SASL
5?Supported?authentication?methods:
6?plain?cram-md5?digest-md5?gssapi?external?login
7?IDN?support:?enabled
8?NLS:?enabled,?LOCALEDIR?is?/usr/local/msmtp/share/locale
9?System?configuration?file?name:?/usr/local/msmtp/etc/msmtprc
10?User?configuration?file?name:?/root/.msmtprc
11?Copyright?(C)?2008?Martin?Lambers?and?others.
12?This?is?free?software.?You?may?redistribute?copies?of?it?under?the?terms?of
13?the?GNU?General?Public?License?.
14?There?is?NO?WARRANTY,?to?the?extent?permitted?by?law.
?
7.測試msmtp是否正常安裝:
1?/usr/local/msmtp/bin/msmtp?viyin@yahoo.cn
2?test,viyin
3?crtl?+d?退出
?
8.mutt全局配置文件的添加
以上3個文件就這樣保存,請確保用戶名、密碼、stmp的正確性。再來:
mkdir?-p?/usr/local/msmtp/log
echo?'set?sendmail="/usr/local/msmtp/bin/msmtp"'?>>/etc/Muttrc
echo?"set?use_from=yes"?>>/etc/Muttrc
echo?'set?realname="meiti_jiankong@163.com"'?>>/etc/Muttrc?//這里改成自己的郵箱
echo?'set?editor="vim"'?>>/etc/Muttrc
?
9.郵件發送測試
/usr/local/mutt/bin/mutt?-s?"郵件標題"?281450202@qq.com?-c?1516070****@139.com?</root/jiankong_log/data.log?-a?/tmp/附件.txt
列如:echo?"web?backup"?|?mutt?-s?"messages"?-a??/root/testmail.txt??463873891@qq.com
-s?郵件標題?緊接的是接收郵件地址?-c?抄送地址?"</root/jiankong_log/data.log?"為郵件正文?-a是附件。
如果發送不成功,請檢測下配置文件。
10.安裝過程注意事項
1)msmtp:?/root/.msmtprc:?must?have?no?more?than?user?read/write?permissions
解決辦法:更改權限?chmod?600?.msmtprc
由于秘密是明碼,則.muttrc和?.msmtprc兩個隱藏文件一定只能是600權限
2)搭建的機器必須配置DNS和網關;
3)必須打開網關的端口25;
4)當出現如下錯誤時:
$?echo?“helloworld”?|?mutt?–s?“test?subject”***@163.com
Error?sending?message,?child?exited?78?().
Segmentation?fault
此時可以確定是由于msmtp出現了問題,而且是由于無法加載默認的default用戶而導致的。解決方案即是在配置sendmail時將其配置文件加上。如下所示:(vim?.?Msmtprc)添加如下配置。
set?sendmail=”/usr/local/msmtp/bin/msmtp?–C.msmtprc”
轉載于:https://blog.51cto.com/moniter/1040594
總結
以上是生活随笔為你收集整理的Linux中使用Msmtp+mutt+shell自动发邮件程序安装说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑暗武士加点 DNF2022黑暗武士加点
- 下一篇: linux系统安全详解