Linux mail命令使用和sendmail配置

2021-07-04 08:17:33 字數 3589 閱讀 8688

from:

linux mail 命令引數:

使用mail發郵件時,必須先將sendmail

服務啟動。

mail –s 「郵件主題」 –c」抄送位址」 –b 「密送位址」 -- -f 傳送人郵件位址 –f 發件人姓名 《要傳送的郵件內容

三種常用格式發信

mail -s test [email protected]#第一種方法,你可以把當前shell當成編輯器來用,編輯完內容後ctrl-d結束

echo 「mail content」|mail -s test [email protected]#第二種方法,我用的最多,可能是喜歡管道的緣故吧

mail -s test [email protected] < file#第三種方法,以file的內容為郵件內容發信

指定特定的傳送人:

$ mail -s "just a test" 收信人郵箱位址 < 要傳送的郵件內容檔案 -- -f 傳送人郵件位址 -f發件人姓名

效果是: 信件內容將傳送給 收信人郵箱,顯示的傳送人為 傳送人姓名《傳送人郵件位址》,顯示的內容為傳送的郵件內容...

包含命令執行結果的mail傳送:

echo -e `ls /tmp`|mail -s "test" [email protected] < /tmp/dd.txt ---f [email protected] -f cc

i 忽略 tty 的中斷訊號。(interrupt)

i 強迫設成互動模式。(interactive)

v 列印出訊息,例如送信的地點、狀態等等。(verbose)

n 不讀入 mail.rc 設定檔。

s 郵件標題。

c cc 抄送郵件位址。

b bcc密送郵件位址。

需要sendmail或postfix服務

如果單純的發檔案檔案可以用

cat ***x.txt |mail -s "主旨" abc@***.com fff@***.com

如果需要傳送附件需要安裝uuencode來編碼 (yum install sharutils)

單獨發附件,這樣***x@***.com會收到乙個data.txt的附件

uuencode /tmp/data_process.log  data.txt |mail***@***.com

如果需要正文和附件一起發:

uuencode /tmp/data_process.log  data.txt >/tmp/data_temp.txt

系統收到郵件都會儲存在「/var/spool/mail/[linux使用者名稱]」檔案中。在linux中輸入mail,就進行了收件箱,並顯示二十封郵件列表。

unread 標記為未讀郵件

h|headers 顯示當前的郵件列表

l|list 顯示當前支援的命令列表

?|help 顯示多個檢視郵件列表的命令引數用法

d 刪除當前郵件,指標並下移。 d 1-100 刪除第1到100封郵件

f|from 只顯示當前郵件的簡易資訊。 f num 顯示某乙個郵件的簡易資訊

f|from num 指標移動到某一封郵件

z 顯示剛進行收件箱時的後面二十封郵件列表

more|p|page 閱讀當前指標所在的郵件內容 閱讀時,按空格鍵就是翻頁,按回車鍵就是下移一行

t|type|more|p|page num 閱讀某一封郵件

v|visual 當前郵件進入純文字編輯模式

n|next| num 閱讀某一封郵件

top 顯示當前指標所在的郵件的郵件頭

file|folder 顯示系統郵件所在的檔案,以及郵件總數等資訊

x 退出mail命令平台,並不儲存之前的操作,比如刪除郵件

q退出mail命令平台,儲存之前的操作,比如刪除已用d刪除的郵件,已閱讀郵件會轉存到當前使用者家目錄下的mbox檔案中。如果在mbox中刪除檔案才會徹底刪除。在linux文字命令平台輸入 mail -f mbox,就可以看到當前目錄下的mbox中的郵件了。

cd 改變當前所在資料夾的位置

寫信時,連按兩次ctrl+c鍵則中斷工作,不送此信件。

讀信時,按一次ctrl+c,退出閱讀狀態。

使用linux mail命令傳送郵件:

1. 將檔案當做電子郵件的內容送出

例如:mail -s 「program」 user < file.c 將file.c

當做mail的內容,送至user,主題為program。

2. 傳送電子郵件給本系統使用者

語法:mail 使用者名稱

3. 傳送電子郵件至外地使用者

…/usr/lib/sendmail -bp

……「mail queue is empty」 ……mail ….

例如:[email protected]

subject : mail test

鍵入信文內容

按下ctrl+d 鍵或. 鍵結束正文。

連按兩次ctrl+c鍵則中斷工作,不送此信件。

cc( carbon copy) : 複製乙份正文,給其他的收信人。

4、將信件送給乙個或以上的電子郵件位址。

由於沒有加入其他的選項,使用者必須輸入標題與信件的內容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2使用者。

mail [email protected]

mail [email protected] user2

將 mail.txt 的內容寄給 user2 同時 cc 給 user1 。如果將這一行指令設成 cronjob就可以定時將備忘錄寄給系統使用者。

mail -s 標題 -c user1 user2 < mail.txt

5. 檢查所傳送的電子郵件是否送出,或滯留在郵件伺服器中

語法:/usr/lib/sendmail -bp

若螢幕顯示為「mail queue is empty」 的資訊,表示mail 已送出。

若為其他錯誤資訊,表示電子郵件因故尚未送出。

linux mail利用外部郵箱位址發郵件

bin/mail會預設使用本地sendmail傳送郵件,這樣要求本地的機器必須安裝和啟動sendmail服務,配置非常麻煩,而且會帶來不必要的

資源占用。而通過修改配置檔案可以使用外部smtp伺服器,可以達到不使用sendmail而用外部的smtp伺服器傳送郵件的目的:

修改/etc/nail.rc (/etc/mail.rc)

set [email protected] smtp=smtp.domain.comsetsmtp-auth-user=username smtp-auth-password=passwordsetsmtp-auth=login

說明:

from是傳送的郵件位址

smtp是發生的外部smtp伺服器的位址

smtp-auth-user是外部smtp伺服器認證的使用者名稱

smtp-auth-password是外部smtp伺服器認證的使用者密碼

smtp-auth是郵件認證的方式

配置成功後,就可以使用了

可以傳送一封郵件測試一下:

mail -s "test" [email protected]

Linux mail命令使用和sendmail配置

linux mail 命令引數 使用mail發郵件時,必須先將sendmail服務啟動。mail s 郵件主題 c 抄送位址 b 密送位址 f 傳送人郵件位址 f 發件人姓名 要傳送的郵件內容 三種常用格式發信 mail s test yangfang fudan.edu.cn 第一種方法,你可以把...

linux mail 命令使用

1.mail 基本語法 h headers 顯示當前的郵件列表 l list 顯示當前支援的命令列表 help 顯示多個檢視郵件列表的命令引數用法 d 刪除當前郵件,指標並下移。d 1 100 刪除第1到100封郵件 t type more p page num 閱讀某一封郵件 n next num...

Linux mail命令學習

在linux中有個mail命令可以進行郵件的收發工作,近來學習了一些mail命令的用法,在此記錄下,與君共享,供備忘之用!一 mail命令的3種用法 1.mail s test user gmail.com 輸入該命令後,就可以把當前shell視窗當做編輯器來使用,可以輸入任何你想輸入的語句,輸入完...