1. 程式人生 > >centos7 利用mailx傳送郵件

centos7 利用mailx傳送郵件

當需要伺服器定時傳送郵件到自己郵箱時,一個郵件服務就很重要了,以下主要是mailx的實現,主要是利用

1.安裝mailx

yum  install  mailx -y

2.使用到的配置檔案只有一個,是/etc/mail.rc,通過修改配置檔案/etc/mail.rc可以使用外部SMTP伺服器,輕鬆實現linux發郵件功能。

set [email protected]                                            qq郵箱或者其他郵箱
set smtp=smtp.qq.com                                            smtp地址   
set 
[email protected]
set smtp-auth-password=nibpgbkksmlbbabe 注意:目前大部分的外部郵件服務使用第三方客戶端時,都需要使用授權碼,上面的smtp-auth-password使用的就是授權碼,而不是郵件帳號的密碼。具體操作在最後有附圖    

到目前為止,如果不是雲主機的話,已經可以實現傳送郵件了。若是雲主機,則需要下面的操作

一、配置mailx使用SMTP傳送郵件:
1、安裝mailx;這裡直接使用yum install mailx -y 進行安裝即可;
2、在/etc/mail.rc配置檔案中,在最後面輸入以下內容:

set from="[email protected]"
set smtp=smtp.126.com
set smtp-auth-user=xxx
set smtp-auth-password=郵箱密碼
set smtp-auth=login

配置都很簡單,這裡就不多說了,有兩點需要注意的:
1、郵箱需要開啟SMTP功能,每個郵箱的開啟方法都大同小異;
2、現在大部分郵箱使用SMTP會讓你啟動一個授權碼來代替郵箱密碼
具體各個郵箱開啟授權碼的方式可以直接百度;
測試是否傳送成功:
mailx -s "郵箱測試" [email protected] < message_file 測試郵件一旦成功,收件箱會馬上收到郵件,如果沒有收到,則等一會可以看到shell介面的錯誤提示; 上面配置的是簡單的使用25埠的SMTP傳送郵件的功能,一般情況下我們使用這個就足夠了,這個辦法 在網上也很多配置說明,這裡就不再浪費時間了,下面我們講重點,使用TSL傳送郵件; 前面說了,阿里雲把25埠封了,去申請解封也比較麻煩,於是就想到了用TSL方式,繞過25埠傳送郵件; TSL也就是使用SSL加密的方式,使用465或者其他埠來發送郵件,現在大部分郵箱都支援SSL,具體SSL的埠 地址,也可以查百度,這裡是以126郵箱為準,126郵箱使用的是465或者994埠; 下面是詳細的配置過程: 1、軟體要求:openssl、mailx 12.0以上; 2、既然使用的是SSL協議,那當然是要有證書的了,下面是獲取證書的操作;

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs

若需要qq的ssl 只需把第二條命令中的smtp.xxx.com:465 給替換了就行

按照上面操作,只要不報錯,就是正常的,我們會在/root/.certs下面看到幾個證書檔案,說明操作成功了;至於為什麼

要這麼做,不要問我,我也是COPY大神的辦法;有興趣的可以參考最後大神的文章連結;

3、證書配置好了,下面我們就要來配置mail.rc配置檔案了,和最開始的不同,這裡我們就需要配置和TSL相關的東西了

set [email protected]
set smtp=smtps://smtp.126.com:465
set [email protected]
set smtp-auth-password=你的授權碼
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs

其實就多了幾個配置stmp前面加了stmps://指定協議型別,後面加上埠號;

啟動ssl協議 ,下面指定ssl證書所在目錄,就這樣。
配置OK了之後,測試傳送郵件;
測試能收到郵件就OK,說明發送沒問題,至於具體會出現什麼報錯,可以根據報錯的內容進行谷歌;
我這裡在傳送郵件的時候會提示一個證書不信任的問題,因為不影響正常傳送郵件,所以選擇忽略;

證書不信任的問題,需要進入存放證書的目錄,執行

cd  /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
最後顯示
Notice: Trust flag u is set automatically if the private key is present.

 後面雲主機實現方法      轉載自笛聲

使用三種方式傳送郵件

  • 命令列: mail -s "theme" addressee,回車後輸入內容按Ctrl+D傳送郵件.
  • 管道符: echo "mail main content" | mail -s "theme" addressee
  • 檔案內容作為郵件內容: mail -s "theme" addressee < /tmp/t.txt

thme是郵件標題,addressee收件人地址

qq郵箱開啟smtp

163郵箱

 

相關推薦

centos7 利用mailx傳送郵件

當需要伺服器定時傳送郵件到自己郵箱時,一個郵件服務就很重要了,以下主要是mailx的實現,主要是利用 1.安裝mailx yum install mailx -y 2.使用到的配置檔案只有一個,是/etc/mail.rc,通過修改配置檔案/etc/mail.rc可以使用外部SMTP伺服器,輕鬆實現l

centos7使用mailx傳送郵件

1.安裝mailx yum -y install mailx 2.編輯/etc/mail.rc vi /etc/mail.rc set from="[email protected]" -- 發件郵箱 set smtp=smtp.163.co

利用JavaMail傳送郵件:smtp.163.com

一、利用JavaMail傳送郵件案例: 1、maven專案結構: 2、先在pom.xml裡邊加入Javamail依賴,系統會根據座標自動下載mail包(前提是配置好了maven): 3、配置email.properties屬性檔案,主要是為了不更改程式碼的前提下,該改變傳送郵件的一些基本資訊:

利用python傳送郵件

1. 點選設定,選擇POP3/SMTP/IMAP。 2. 第一次進入,這兩項應該是未勾選的。  3. 點選左側客戶端授權密碼,再點選重置授權碼。輸入簡訊驗證碼後,會提示設定授權密碼(不要和郵箱登陸密碼重複)。 4. 記住自己設定的授權密碼之後,開始用pyth

centos利用mailx搭建郵件服務

1.centos安裝mailx yum install -y mailx 安裝之後編輯/etc/mail.rc 使用163郵箱,在檔案末尾加上以下內容完成配置 set bsdcompat set [email protected] set smtp=smtp.163.c

利用JavaMail傳送郵件示例

    最近閒來無事,為了鞏固一下知識點,寫了一個利用JavaMail傳送郵件的例子。只寫了一個傳送的例子,以後有時間再寫下接收的例子。 1、簡單介紹一下JavaMail的傳送步驟 根據郵件會話屬性和密碼驗證器構造一個傳送郵件的session會話 通過session會話

python 利用 smtplib 傳送郵件方法

說明 python 自帶了 smtplib 庫 可以直接呼叫並進行郵件傳送 預設狀態下, python 利用 base64 進行使用者名稱密碼傳遞 測試期間, 可以開啟 debug 功能, 方便進行排錯 測試程式碼 impor

(Python)利用SMTP傳送郵件進階篇,傳送混合格式郵件

html很簡單,只要MIMEText中的引數改成html即可 附件也不難,難的是加圖片 雖然圖片可以當做附件傳送,但是顯然還需要一個加入正文的功能,方法是用html的img標籤把圖片加入。但是這樣會有個問題,一般的郵箱都會將這種連結遮蔽掉。這個問題有2種解決方法,第一種是

mailx傳送郵件

郵件報警 service postfix stop  chkconfig postfix off  yum install mailx –y  vim /etc/mail.rc  #在最後增加  set from=***(郵箱地址) set smtp=***(smtp伺服器

Linux使用mailx傳送郵件--技術流ken

  前言   最近想要監控系統服務執行情況並實現自動傳送郵件報警,zabbix雖然也可以實現這樣的功能,但是這裡使用一個非常簡單的辦法就可以實現。需要安裝mailx工具,mailx是一個小型的郵件傳送程式。   安裝步驟  

php利用smtp傳送郵件

PHP : 5.6.8 email工具類下載地址:      http://files.cnblogs.com/files/rhythmK/email.class.zip 傳送郵件程式碼如下: require_once("email.class.php"); $sm

debian通過mailx傳送郵件

搭建的nagios,郵件報警可以通過以下幾種方式: 第一:使用簡訊通道   第二:使用伺服器本身的郵箱進行發郵件(例如centos使用sendmail,debian使用exim4) 第三:使用外部郵箱通過smtp傳送。  第一種當然最好,可是需要收費的。 第二種也可以發,可

(Python)利用SMTP傳送郵件終極篇,主送、抄送、暗送

在利用SMTP傳送郵件進階篇,傳送混合格式郵件一文中我解釋瞭如何傳送各種內容的郵件,但是收件人都是主送,沒有抄送和暗送。 文中相關程式碼如下: msg['from'] = user msg['to'] = ','.join(to_list) #注意,不是分號 msg[

nodejs利用nodemailer傳送郵件,163 和gmail的配置

安裝nodemailer: npm install nodemailer --save 我所使用的版本號是:0.7.1 1. 不配置任何的郵箱伺服器,同樣可以進行郵件的傳送 const nodeMailer = require("nodemailer"); le

shell下使用mailx傳送郵件

如果不能直接使用mailx,需要先下載安裝mailx; wget http://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz tar zxvf hei

springboot利用JavaMailSender傳送郵件

之前用javamaill的方式傳送郵件,比較繁瑣,現在利用spring-mail來發送郵件,非常簡單 1.引入pom依賴,分別是freemarker郵件模板和spring-maill依賴 <!-- Spring Boot Freemarker 依賴,傳送HTML格式

利用python 傳送郵件

#coding=utf-8 import traceback import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from e

centos7使用sendmail傳送郵件

centos7使用sendmail傳送郵件 Lee_吉關注0人評論36608人閱讀2017-12-2

Linux系統使用mailx命令傳送郵件

一、環境核實以及準備。     在centos7系統中預設有安裝mailx命令進行系統郵件的傳送。如果沒有相關的命令可以自行通過yum安裝     #yum install mailx -y    使用#ss  &nbs

java利用commons-email.jar傳送郵件

這幾天寫了一個簡歷網站,因為簡歷下面有個聯絡我的功能,這個功能可以可以向郵箱傳送郵件,所以自己便開始學習部落格開始解決傳送郵件功能。 引入相關jar包 要用commos-email.jar實現傳送郵箱功能需要先匯入三個jar包: commos-email.jar