採用Mutt及msmtp配置進行郵件傳送
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 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<郵件草稿> 將指定的郵件草稿送出
-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 採用Mutt及msmtp配置進行郵件傳送
Centos 7.5 採用Mutt及msmtp配置進行郵件傳送 在mysql叢集中,通過Keepalived做負載均衡,當keepalived或者是Mysql叢集有問題通過郵件通知,但是Keepalived本身傳送郵件不是很好用
採用Mutt及msmtp配置進行郵件傳送
最近想分析一些訪問日誌,並每天定期的傳送至一些人的郵箱中。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傳送郵件的過程示意圖:
mutt加msmtp傳送郵件
有時候我們的程式還是需要傳送郵件了。自己寫一個傳送郵件的程式,實在是不划算,利用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="