Linux配置msmtp+mutt傳送郵件(可放在指令碼中定時傳送郵件)
做為一名運維DBA,要寫一些監控指令碼或分析指令碼,並把結果每天定時傳送到郵箱中,來提高工作效率。Linux系統下有許多的開源軟體可以採用命令的方式來傳送郵件, 我比較推薦用msmtp+mutt方式來傳送郵件
一. msmtp和mutt簡介:
msmtp是一個開源的SMTP客戶端,它負責傳輸郵件到SMTP伺服器。
mutt是一款功能強大的基於文字介面的E-Mail Client程式,可以用它來讀寫、回覆、儲存郵件,當然也可以在郵件中新增附件,它需要和msmtp配合使用,官網地址
二. msmtp安裝及配置
1.下載及安裝
網上下載地址很多,這裡提供一個
(這是1.4.30版的,最新版應該是1.6.1了 )
下載下來後解壓:
$tar xvf msmtp-1.4.30.tar.bz2
$cd msmtp-1.4.30
$./configure --prefix=/usr/local/msmtp
$make
$make install
2 配置msmtp
msmtp配置檔案有兩種,一類是系統配置檔案,一類是使用者配置檔案,配置一個即可
系統配置檔案為/usr/local/msmtp/etc/msmtprc (etc目錄和msmtprc檔案要手工建立)
使用者配置在使用者家目錄下 ~/.msmtprc (只對本使用者生效,也要手工建立)
配置檔案用於配置郵件傳送的一些基本資訊,這裡對使用者配置檔案做個簡單的配置:
$vi ~/.msmtprc
defaults //表示設定預設值
logfile /usr/local/msmtp/msmtp.log //指定日誌檔案
account zhao //設定賬號
host smtp.163.com //SMTP郵件伺服器地址
auth plain //指定認證方式
user zhao //指定使用者名稱
from //傳送的郵件Email
password 123456 //指定密碼
因為密碼是名文的,所以使用者配置檔案的讀定許可權必須為600
chmod 600 ~/. msmtprc
三、mutt的安裝與配置
1. mutt安裝
一般Linux都會預設安裝mutt,可用命令查下rpm -qa|grep mutt 或whereis mutt看下相關路徑
如果沒有安裝可以使用 # yum install mutt安裝下,或去官網()下載原始碼安裝,這裡不再多做介紹
2. mutt配置
mutt配置檔案也有兩類,一類是系統配置檔案(/etc/Muttrc),一類是使用者配置檔案(~/.muttrc,要手工建立)
我這裡配置使用者配置檔案 ,配置比較簡單,不再詳述,新增如下內容即可
vi ~/.muttrc
set sendmail="/usr/local/msmtp/bin/msmtp"
set use_from=yes
set envelope_from=yes
set realname="dba"
set
3.傳送郵件
配置完成後,發封郵件測試下:
mutt -s " testdba" -a /home/oracle/check.log zhaoxxx@163.com < /tmp/1.txt
-s 後面testdba 為郵件主題
-a 後面/home/oracle/check.log為附件
zhaoxxx@163.com為收件人郵箱
/tmp/1.txt 檔案中的內容為郵件正文內容
去郵箱看下,應該收到了一封標題為testdba的郵件
可以把這條命令放在shell指令碼中,加入crontab,每天定時將監控結果傳送郵件到郵箱
4.報錯處理
如果傳送報錯,一般是配置檔案配置有誤,可用下面的辦法檢測下
mutt –s “testdba” zhaoxxx@163.com
然後會提示輸入標題、正文,這時會出現詳細的錯誤資訊,可看到是什麼問題導致的,
如:提示msmtp: account default not found: noconfiguration file available
很明顯是因為無法載入預設的default使用者
解決辦法:
在muttrc配置檔案中,將sendmail配置改為
set sendmail=/usr/local/msmtp/bin/msmtp –C ~/.msmtprc”即可
附:mutt常用引數
-a<檔案> |
在郵件中加上附加檔案。 |
-b<地址> |
指定密件副本的收信人地址。 |
-c<地址> |
指定副本的收信人地址。 |
-f<郵件檔案> |
指定要載入的郵件檔案。 |
-F<配置檔案> |
指定mutt程式的設定檔案,而不讀取預設的.muttrc檔案。 |
-h |
顯示幫助。 |
-H<郵件草稿> |
將指定的郵件草稿送出。 |
-i<檔案> |
將指定檔案插入郵件內文中。 |
-m<型別> |
指定預設的郵件信箱型別。 |
-n |
不要去讀取程式培植檔案(/etc/Muttrc)。 |
-p |
在mutt中編輯完郵件後,而不想將郵件立即送出,可將該郵件暫緩寄出。 |
-R |
以只讀的方式開啟郵件檔案。 |
-s<主題> |
指定郵件的主題。 |
-v |
顯示mutt的版本資訊以及當初編譯此檔案時所給予的引數。 |
-x |
模擬mailx的編輯方式。 |
-z |
與-f引數一併使用時,若郵件檔案中沒有郵件即不啟動mutt |
以上引數內容摘自網路
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29702473/viewspace-1427563/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 定時傳送郵件
- node 定時傳送郵件
- 郵件傳送
- 傳送郵件
- 谷歌郵箱,配置傳送郵件密碼谷歌密碼
- 收到263定時傳送郵件的傳送提醒
- Alertmanager傳送告警郵件配置
- kettle 郵件傳送設定
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Shell指令碼中傳送html郵件的方法指令碼HTML
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送
- thinkphp 郵件傳送PHP
- centos 傳送郵件CentOS
- phpcms傳送郵件PHP
- 郵件的傳送
- 郵件傳送庫原始碼原始碼
- [linux]linux傳送郵件Linux
- rman備份指令碼 傳送郵件通知指令碼
- 使用oracle job定時傳送email郵件OracleAI
- 【Grafana】告警配置併傳送郵件Grafana
- 配置mail使用SMTP傳送郵件AI
- rails4.2.6配置傳送郵件AI
- zabbix 配置傳送郵件報警
- 配置ActionMailer使用GMail傳送郵件AI
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 使用Linux命令傳送郵件Linux
- linux formail 傳送html郵件LinuxORMAIHTML
- golang傳送郵件(qq郵箱)Golang
- 郵件傳送API整理API
- php windows 傳送郵件PHPWindows