1. 程式人生 > >採用Mutt及msmtp配置進行郵件傳送

採用Mutt及msmtp配置進行郵件傳送

最近想分析一些訪問日誌,並每天定期的傳送至一些人的郵箱中。Linux系統下有非常多的開源軟體可以採用命令的方式來發送郵件,有些較為複雜。其中一種即採用mutt和msmtp的解決方案,它類似於foxmail及outlook的客戶端,可以通過命令列的方式來進行郵件的自動傳送。

1、  msmtp的安裝與配置

安裝過程如下:

在安裝完成後,在/usr/local/msmtp目錄下對應兩個目錄(bin和share),在其下新建etc目錄,並在其中新增msmtprc檔案,該檔案用於配置郵件傳送的一些基本資訊,配置示例如下:

   $ vim msmtprc

defaults   //對應後面的default帳號,如果有default必須加這個配置項

#163 configure

logfile /opt/msmtp/log/msmtp.log  //傳送郵件對應的日誌檔案

#配置test帳號資訊。與後面的test01相對應

account test01

# SMTP郵件伺服器地址

host smtp.163.com

#傳送郵件的email地址

# 採用login的方式進行認證

auth login

# 對應你的郵箱帳號,@之前的使用者名稱

user test    

# 對應該郵箱帳號的密碼

password ******

#設定預設的帳號,當然如果有多個請使用:拼接

account default:test01

由於password是明碼,所以需要修改此檔案的許可權 chmod 600 msmtprc

在上述資訊配置完成後,可以通過msmtp命令來發送郵件了,具體的傳送過程如下:

輸入一些郵件正文,並按ctrl +D傳送並退出。檢查郵件是否能夠正常收到。

對於上述的配置也可以來驗證是否支援認證的TLS加密,可採用如下命令來驗證SMTP伺服器是否支援認證的TLS加密。可以看出其支援plain及login的認證方式,我們在上述就使用了login的方式。

#./msmtp  --host=smtp.163.com --serverinfo

SMTP server at smtp.163.com (mproxyhzb3.163.com [123.58.178.203]), port 25:

    hz-b-163smtp1.163.com SMTP Server for Netease [466] 2d40a62e-4009-43b7-8c84-70986235ddb5

Capabilities:

    PIPELINING:

        Support for command grouping for faster transmission

    STARTTLS:

        Support for TLS encryption via the STARTTLS command

    AUTH:

        Supported authentication methods:

        PLAIN LOGIN

This server might advertise more or other capabilities when TLS is active.

2、  mutt的安裝與配置

mutt一般情況下是預設已經安裝在linux系統中,可以通過which mutt來檢視對應的安裝路徑。只需要做一些配置即可,具體的配置可以有兩種方式。可以修改/etc/Muttrc或新增.muttrc,在其中新增相應的配置檔案。具體的配置檔案如下:

set sendmail="/usr/local/msmtp/bin/msmtp -C /home/admin/.msmtprc"

set use_from=yes

set realname="test"

set [email protected]

set editor="vi"

在配置完mutt後,可以採用如下的命令進行郵件傳送功能的驗證,具體如下:

$ echo “helloworld” | mutt –s “test subject” ***@163.com

正常情情況下,郵件能夠成功傳送。

若出現了異常,可以採用如下的方式進行問題排查:

$ echo “helloworld” | mutt –s “test subject”***@163.com

Error sending message, child exited 78 ().

Segmentation fault

當遇到如上的問題時,一般情況是由於某些配置檔案錯誤導致的,但通過上述簡短的資訊無法排查出到底是哪裡出現了問題。可以採用如下的方式進行檢驗:

$ mutt –s “test subject” ***@163.com

上述命令會要求你輸入正文,然後再輸入郵件正文,此時會出現較為詳細的錯誤,如下所示:

msmtp: account default not found: noconfiguration file available

此時可以確定是由於msmtp出現了問題,而且是由於無法載入預設的default使用者而導致的。解決方案即是在配置sendmail時將其配置檔案加上。如下所示:

set sendmail=”/usr/local/msmtp/bin/msmtp –C.msmtprc”

3、mutt的常用命令

mutt [-hnpRvxz][-a<檔案>][-b<地址>][-c<地址>][-f<郵件檔案>][-F<配置檔案>][-H<郵件草稿>][-i<檔案>][-m<型別>][-s<主題>][郵件地址]

Linux命令引數:

-a<檔案>   在郵件中加上附加檔案。

-b<地址>   指定密件副本的收信人地址。

-c<地址>   指定副本的收信人地址。

-f<郵件檔案>   指定要載入的郵件檔案。

-F<配置檔案>   指定mutt程式的設定檔案,而不讀取預設的.muttrc檔案。

-h   顯示幫助。

-H<郵件草稿>&nbsp;  將指定的郵件草稿送出

-i<檔案>   將指定檔案插入郵件內文中

 -m<型別>   指定預設的郵件信箱型別。

-n   不要去讀取程式培植檔案(/etc/Muttrc)

 -p   在mutt中編輯完郵件後,而不想將郵件立即送出,可將該郵件暫緩寄出。

-R   以只讀的方式開啟郵件檔案

 -s<主題>   指定郵件的主題。

-v   顯示mutt的版本資訊以及當初編譯此檔案時所給予的引數。

-x   模擬mailx的編輯方式。

-z   與-f引數一併使用時,若郵件檔案中沒有郵件即不啟動mutt。

帶附件的郵件傳送命令:

$ mutt -s "subject" -a /home/admin/backup.tar.gz [email protected] < /tmp/x.txt

-s: 郵件標題,用""括上

-a: 郵件附件。如上命令就是將/backup目錄下 backup.tar.gz檔案作為附件傳送。

< /tmp/x.txt:/tmp目錄下x.txt檔案裡的內容作為郵件內容傳送。

給多人傳送郵件,只要在郵箱地址後加空格接著輸入郵箱地址即可,如:

$ mutt -s "subject" -a /home/admin/backup.tar.gz [email protected] [email protected] [email protected]< /tmp/x.txt


相關推薦

centos 7.5 採用Muttmsmtp配置進行郵件傳送

Centos 7.5 採用Mutt及msmtp配置進行郵件傳送          在mysql叢集中,通過Keepalived做負載均衡,當keepalived或者是Mysql叢集有問題通過郵件通知,但是Keepalived本身傳送郵件不是很好用

採用Muttmsmtp配置進行郵件傳送

最近想分析一些訪問日誌,並每天定期的傳送至一些人的郵箱中。Linux系統下有非常多的開源軟體可以採用命令的方式來發送郵件,有些較為複雜。其中一種即採用mutt和msmtp的解決方案,它類似於foxmail及outlook的客戶端,可以通過命令列的方式來進行郵件的自動傳送。

雲伺服器Windows Server2012 配置SMPT和POP郵件伺服器並進行郵件傳送

一、安裝SMPT伺服器 1.新增角色和功能 2.勾選SMTP伺服器 二、配置SMPT伺服器 1.設定SMPT伺服器的屬性 右鍵SMPT-->屬性 2.設定域名 三、配置POP伺服器 Windows server 2012沒有自帶的POP服務,所以需要使用第三

用python SMTP進行郵件傳送

1 import smtplib 2 from email.mime.text import MIMEText 3 from email.mime.multipart import MIMEMultipart 4 """多使用者及帶附件傳送郵件程式碼""" 5 6 smtpserver

Javamail實現office365進行郵件傳送

我這邊遇到的問題:javax.mail.AuthenticationFailedException: 535 5.7.3 Authentication unsuccessful [BJBPR01CA017.CHNPR01.prod.partner.outlook.cn]。一頓

如何用python進行郵件傳送

  使用Python呼叫郵件伺服器傳送郵件,使用的協議是SMTP(Simple Mail Transfer Protocol),下圖為使用TCP/IP基於SMTP傳送郵件的過程示意圖:                  

muttmsmtp傳送郵件

有時候我們的程式還是需要傳送郵件了。自己寫一個傳送郵件的程式,實在是不划算,利用linux已經有的程式,直接傳送郵件,可能是比較好的方法 。下面是我使用的一點心得,記錄下來。mutt 是一種類Unix系統下基於文字的郵件客戶端,被設計為擔當郵件使用者代理(MUA),因此不可

Ubuntu Linux自動發郵件配置郵件傳送指令碼

測試環境:Ubuntu 11.10 1. 安裝mutt及msmtp軟體 sudo apt-get install mutt sudo apt-get install msmtp 2. 編輯配置檔案vi ~/.muttrc set sendmail="/usr/bin/

JAVA在不基於XML配置檔案的情況下實現郵件傳送功能(郵箱轟炸)

    今天要講的是如何用Java程式碼實現簡單郵件傳送和複雜郵件傳送的功能,這裡我使用的是QQ郵箱,你們也可以嘗試使用其他的郵箱哦~ 想實現郵件傳送功能首先郵箱賬號必須要開啟 SMTP 服務,在網頁登入郵箱後點擊設定→賬戶然後下拉,如圖 &nb

Log4j2配置SMTP郵件實現郵件傳送

大綱: 官網配置資訊 實際使用 一、官網配置資訊 官網SMTPAppender配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="

python系統監控郵件傳送

                                  python系統監控及郵件傳送   #psuti

使用GNS3進行子網路由配置

拓撲圖 一、基本配置 1.R1路由器的基本配置   enable   configure terminal   interface f0/0   ip address 192.168.10.1 255.255.255.224   n

Zabbix 配置通過sendEmail傳送郵件報警

## 1、安裝sendEmail### 1.1、下載安裝sendEmail1. 通過Linux下載命令`wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz`(wget安裝命令:`rpm install w

yii2 配置郵件賬號傳送郵件

use yii\swiftmailer\Mailer; $config = [ 'class' => 'Swift_SmtpTransport', 'host' => 'yo

Redmine2 1郵件傳送配置 使用QQ企業郵箱

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                Redmine的安裝環境為CentOS5.5/nginx/passenger配置為:passenger_root /usr/local/lib/ruby/gem

Linux下使用Mail命令進行郵件傳送

今天打算試一下用mail命令進行郵件的傳送,來進行檢測linux下磁碟的使用情況,剛開始,遇到了小問題,找不到mail 這個命令的存在,又自己瞎鼓搗,各種百度,總算也是可以正常的傳送了,可以繼續下去了~具體如下: 1:如果linux下沒有mail命令, 如下,我們先進行命令

使用JavaMail進行簡單SMTP郵件傳送測試,從網易郵箱傳送到QQ郵箱

===========TLS版本=========== 本文使用的JavaMail版本為1.5.2 import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Messa

centos 6.8配置qq smtp郵件傳送

沒有域名嚴重的郵箱容易被伺服器認為是垃圾郵件,所以在伺服器中配置了qq郵件 yum install mailx vi /etc/mail.rc 新增 set from=****@qq.com set smtp=smtps://smtp.qq.co

logback配置錯誤日誌傳送郵件

這個問題整整弄了2天才真正實現了,網上各種搜尋,各種坑,今天特地閒下來,記下筆記,希望可以幫助到需要的人。 需求: 1、報錯發郵件,定位錯誤位置以儘快解決;(報錯傳送郵件) 2、某一項重要操作完成之後傳送郵件;(自定義傳送郵件) 沒有接觸過logback,怎麼辦?

使用mutt+msmtp做linux郵件客戶端

之前一直用sendmail+mailx來發郵件,但是突然在一臺伺服器上遇到個問題,一開啟sendmail,負載暴漲,iowait 40-60,所以,嘗試用下mutt+msmtp,在網上找了相關資料,根據自己配置,總結以下 安裝msmtp <span style="