ubuntu配置mail郵件伺服器

2021-09-18 04:30:58 字數 3158 閱讀 4461

背景:

最近在看專案中前輩寫過的shell,當成功或失敗時有郵件發出,並且傳送郵件的命令很簡單,只是乙個mail命令,由於之前不是很了解,所以簡單看了一下,並在自己的虛擬機器上測試了一下。所以此文的目的主要是給像我一樣的新手入門參考的。

環境:

ubuntu14.04, 沒有安裝mail命令

摘要:

ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包,再安裝乙個工具包

sudo apt-get install sendmail  

sudo apt-get install sendmail-cf

sudo apt-get install mailutils

安裝過程中會出現如下介面:

原文說這個system mail name會被用到,我自己測試發現並沒有使用,預設發出郵件的名字是當前登入使用者的名字,並不是這裡配置的system mail name,給本機發郵件可以使用也可以只使用username,下文會提到。

這裡一路選擇預設就可以了。

安裝完以後檢查一下:

ps aux |grep sendmail
darren@ubuntu:~/darren$ ps aux |grep sendmail

root 1276 0.0 0.4 100728 4920 ? ss apr12 0:06 sendmail: mta: accepting connections

darren 11770 0.0 0.2 11764 2252 pts/0 s+ 13:42 0:00 grep --color=auto sendmail

說明sendmail 已經安裝成功並啟動了

sendmail 預設只會為本機使用者傳送郵件,只有把它擴充套件到整個internet,才會成為真正的郵件伺服器。

開啟sendmail的配置巨集檔案:/etc/mail/sendmail.mc,修改如下行

vim /etc/mail/sendmail.mc

daemon_options(`family=inet, name=mta-v4, port=smtp, addr=127.0.0.1')dnl

//修改為

daemon_options(`family=inet, name=mta-v4, port=smtp, addr=0.0.0.0')dnl

0.0.0.0表名可以連線任何伺服器

重新生成配置檔案:

cd /etc/mail  

mv sendmail.cf sendmail.cf_bk //做乙個備份

m4 sendmail.mc > sendmail.cf //>的左右有空格,提示錯誤沒有安裝sendmail-cf

//注意,如過最後乙個命令報沒有許可權,需要切換到root上執行

echo 「郵件正文」 | mail -s 郵件主題 [email protected] //簡單方式

mail -s 郵件主題 [email protected] < test.txt //檔案內容傳送方式

其它可選想如下:

//追加,例如-afrom: ***@yyy.com, 指定郵件是誰發出的

-a, --attach=file

attach file

//傳送附件,-a 檔案路徑, 注意如果傳送多個附件,需要使用多次-a, 例如:-a file1 -a file2

-s, --subject=subj

send a message with the given subject

//指定郵件標題

這裡只列出了部分選項,幫助文件請使用man mail檢視

常用例子如下:

echo 「郵件正文」 | mail -s 郵件主題 [email protected][email protected]
echo 「郵件正文」 | mail -s 郵件主題 [email protected] -afrom: [email protected]
echo "this is the message body" | mail -s "hello, this is a test!" username

echo "this is the message body" | mail -s "hello, this is a test!" username@ubuntu

//這兩種方法等價,第二種中的ubuntu是當前系統的主機名(hostname),見安裝部分的最後一張圖,系統郵件名預設的是主機名,也是ubuntu

echo "this is the message body" | mail -s "subject" [email protected] -a file

//傳送兩個附件

在第三行顯示有7封郵件,其中3封未讀。 

第二列是郵件編號,最後一列是郵件主題,中間是收件日期。 

最後一行?提示符表示等待輸入命令。

輸入郵件編號,回車後就可以開啟該郵件進行閱讀。 

輸入z回車後退後郵件列表。 

輸入q回車後退出

參考:

ubuntu配置mail郵件

一 安裝 ubuntu中sendmail函式可以很方便的傳送郵件,ubuntu sendmail先要安裝兩個包。必需安裝的兩個包 sudo apt get install sendmail sudo apt get install sendmail cf 下面幾個包是可選的 squirrelmail...

Mail傳送郵件

本來是想用阿里雲伺服器測試傳送郵箱,可是由於阿里雲端口等問題,無奈只好在本地搭建虛擬機器進行測試。本文是通過163郵箱給qq郵箱的案例講解 set from 163.com 您的163郵箱 set smtp smtp.163.com 不需修改 set smtp auth user 163.com 您...

mail命令傳送郵件

一 首先安裝ssmpt和mailutils sudo apt get install ssmtp mailutils 二 接下來編輯配置檔案 sudo gedit etc ssmtp ssmtp.conf root your personal mail domain mailhub smtp.gma...