2012年8月11日 星期六

[Linux] mail/mailx命令使用外部SMTP來發送郵件

瀏覽數
/bin/mail會默認使用本地sendmail發送郵件,這樣本地的機器必須安裝和啟動Sendmail服務,配置非常麻煩,而且會帶來不必要的資源佔用。而通過修改配置文件可以使用外部SMTP服務器,可以達到不使用sendmail而用外部的SMTP服務器發送郵件的目的:

1.安裝mailx,並檢查版本 (12.5 7/5/10)

yum install mailx
mail -V

12.5 7/5/10

2.修改/etc/mail.rc 加入底下設定:
set from=fromuser@domain.com smtp=domain.com
set smtp-auth-user=username smtp-auth-password=password
set smtp-auth=login

3.說明:
from是發送的郵件地址
smtp是發生的外部smtp服務器的地址
smtp-auth-user是外部smtp服務器認證的用戶名
smtp-auth-password是外部smtp服務器認證的用戶密碼
smtp-auth是郵件認證的方式

配置成功後,就可以使用了,可以發送一封郵件測試一下:
mail -s "test" user@domain.com < content.txt
其中-s後面的是郵件標題,user@domain.com是收件人地址,content.txt裡面是郵件內容

來源: http://techhouse.blog.sohu.com/106378311.html

1 則留言:

chilin 提到...

參考: http://blog.csdn.net/vip552/article/details/8999432

在(RHEL|Centos)6\5下,運行mail 和mailx,實際上都是一個命令,而mail版本不同,導致了(RHEL|Centos)5下mail命令無法調用外部SMTP服務器,安裝mailx新版本可解決此問題。

mailx官方站點 http://heirloom.sourceforge.net/

下載最新版本mailx-12.4.tar.bz2 (271.5 kB) http://sourceforge.net/projects/heirloom/files/latest/download?source=files

解壓、安裝。下載的壓縮包裡有安裝說明(見INSTALL 文件)。默認安裝是make ; make install
同時安裝說明也說了,如果make install 出錯,則換為 make install UCBINSTALL=/usr/bin/install命令試試。
命令:
# tar jxvf mailx-12.4.tar.bz2
# cd mailx-12.4
# make
# make install UCBINSTALL=/usr/bin/install
我在make install很長時間沒有反應,只有Ctrl + C 中斷了,輸入make install UCBINSTALL=/usr/bin/install 則可以成功安裝

查看mailx程序默認安裝位置、及版本
# whereis mailx
mailx: /usr/local/bin/mailx /usr/share/man/man1p/mailx.1p.gz
# mailx -V
12.4 7/29/08

安裝後的mailx使用的是 /etc/nail.rc 配置,不是 /etc/mail.rc 這個需要注意。