LINUX系統發送郵件的方法

利用外部郵箱發送郵件的方法linux

 

bin/mail會默認使用本地sendmail發送郵件,這樣要求本地的機器必須安裝和啓動Sendmail服務,配置很是麻煩,並且會帶來沒必要要的

資源佔用。而經過修改配置文件可使用外部SMTP服務器,能夠達到不使用sendmail而用外部的smtp服務器發送郵件的目的:

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

set from=fromUser@domain.com smtp=smtp.domain.comset smtp-auth-user=username smtp-auth-password=passwordset smtp-auth=login
說明:

from是發送的郵件地址

smtp是發生的外部smtp服務器的地址

smtp-auth-user是外部smtp服務器認證的用戶名

smtp-auth-password是外部smtp服務器認證的用戶密碼

smtp-auth是郵件認證的方式

配置成功後,就可使用了

能夠發送一封郵件測試一下:

mail -s "test" user@sohu.com <content.txt 其中-s後面的是郵件標題,user@sohu.com是收件人地址,content.txt裏面是郵件正文shell

 

三種經常使用格式發信服務器

mail -s test ccc@35.com #第一種方法,你能夠把當前shell當成編輯器來用,編輯完內容後Ctrl-D能夠輸入抄送人,可用逗號分隔,回車後發送。dom

echo 「mail content」|mail -s test ccc@35.com #第二種方法,使用管道編輯器

mail -s test ccc@35.com < file #第三種方法,以file的內容爲郵件內容發信ide

 

發附件測試

若是你的系統裏沒有uuencode命令的話,請先安裝sharutils(yum install sharutils)ui

uuencode 須要兩個參數,第一個是你要發送的文件(們),固然這個也能夠用管道來作,第二個是顯示的文件名spa

uuencode 1.txt 1.txt | mail -s test2ccc@35.com(linux下的文本文件最好先unix2dos)unix

tar zcf – /tmp/1/ |uuencode 1.tgz | mail -s test1ccc@35.cn4e.com

 

即有附件又有郵件正文

先寫好郵件, 好比叫 mymail,而後

uuencode <附件文件名> <附件文件名> >> mymail

或者cat <附件文件名> | uuencode <附件文件名> >> mymail

而後編輯你的 mymail 文件,在前面寫上信的正文。 而後寄出。

實際操做:

echo ‘hello zhengwen’ >zhengwen.txt

cat 1.gif | uuencode 1.gif>> zhengwen.txt

cat zhengwen.txt |mail -s test1  ccc@35.com

 

將信件送給一個或以上的電子郵件地址。

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

mail -s biaoti zhucsong@35.com -c chaosong@35.com -b michao@35.com < 1.txt

 

檢查所傳送的電子郵件是否送出,或滯留在郵件服務器中
語法:/usr/lib/sendmail -bp
若屏幕顯示爲「Mail queue is empty」 的信息,表示mail 已送出。
若爲其餘錯誤信息,表示電子郵件因故還沒有送出。

 

附:

linux mail命令參數:
i 忽略 tty 的中斷訊號。 (interrupt)
I 強迫設成互動模式。 (Interactive)
v 列印出訊息,例如送信的地點、狀態等等。 (verbose)
n 不讀入 mail.rc 設定檔。
s 郵件標題。
c cc 郵件地址。
b bcc 郵件地址。

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

此時命令提示符爲」&」:(能夠輸入如下命令對郵件進行相關操做)&    help //若是不會使用或者忘記了什麼命令,就輸入 help 或者 ? 來獲取幫助        Mail   Commands    t <message list>                打印出信息 【注意】多個信息用空格分開,如 t 1 7    n                                    打印出下一條信息    e <message list>                編輯信息    f <message list>                輸出信息的頭行    d <message list>                刪除信息    s <message list> file           追加信息到文件file    u <message list>                不刪除某信息    R <message list>                回覆發件人    r <message list>                回覆發件人和本信息全部的收件人    pre <message list>              保留信息在 /usr/spool/mail  1*    m <user list>                   發郵件,多個收件人用空格分開【須要sendmail支持】    q                               quit, saving unresolved messages in mbox 2*    x                               quit, do not remove system mailbox    h                               print out active message headers    !                               讓shell執行某命令,如 !ls 輸出ls命令結果    cd [directory]                  改變目錄,這裏不用 !cd,但打印當前目錄須要 !pwd

相關文章
相關標籤/搜索