ubuntu發送使用sendmail發送郵件

一,安裝郵件傳輸代理程序
sudo apt-get install sendmail  
sudo apt-get install sendmail-cf


二, ubuntu下最常使用的是mail功能,需要安裝mailutils

sudo apt-get install mailutils



還有幾個可選包:

squirrelmail  # 提供webmail
spamassassin  # 提供郵件過濾
mailman  # 提供郵件列表支持
dovecot  # 提供IMAP和POP接收郵件服務器守護進程

測試是否安裝成功:
ps aux |grep sendmail

如果出現類似:

root     14264  0.0  0.5 100700  2788 ?        Ss   14:43   0:00 sendmail: MTA: accepting connections
root     14602  0.0  0.1  11740   940 pts/1    S+   15:29   0:00 grep --color=auto sendmail

sendmail安裝成功。


三,配置

sendmail默認是本機用戶發送給本機,所以需要修改可以發送到整個Internet:

修改sendmail配置宏文件,路徑爲/etc/mail/sendmail.mc

找到:

DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl

Addr=127.0.0.1修改爲Addr=0.0.0.0,意思是可以連接到任何服務器。

保存修改的文件,下面備份配置文件:
cd /etc/mail
mv sendmail.cf sendmail.cf~

然後生成新的配置文件:
m4 sendmail.mc > sendmail.cf

此處如果報錯

*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()
解決辦法:
修改sendmail.mc最後幾行
vi /etc/mail/sendmail.mc
將文檔中的
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
放到文檔最後

四,重啓sendmail
service sendmail restart
查看下:
netstat -tlunp | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN  


五,發郵件


echo "正文!" | mail -s 標題 [email protected]



 注意有可能郵件被髮送成垃圾郵件了,去垃圾郵件找


發佈了25 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章