ubuntu sendmail 发送邮件

ubuntu中sendmail函数可以很方便的发送邮件,ubuntu sendmail先要安装两个包。
必需安装的两个包:
代码
sudo apt-get install sendmail
sudo apt-get install sendmail-cf

下面几个包是可选的:
代码
squirrelmail //提供webmail
spamassassin //提供邮件过滤
mailman //提供邮件列表支持
dovecot // 提供IMAP和POP接收邮件服务器守护进程


注意:
Ubuntu下使用最常用的mail功能,需要安装mailutils,
安装命令:sudo apt-get install mailutils
使用带附件的功能,则还需要安装sharutils,
安装命令:sudo apt-get install sharutils;(yum install sharutils )

终端输入命令:ps aux |grep sendmail
输出如下:
root 20978 0.0 0.3 8300 1940 ? Ss 06:34 0:00 sendmail: MTA: accepting connections
root 21711 0.0 0.1 3008 776 pts/0 S+ 06:51 0:00 grep sendmail

说明sendmail 已经安装成功并启动了


二、配置


sendmail 默认只会为本机用户发送邮件,只有把它扩展到整个Internet,才会成为真正的邮件服务器。

打开sendmail的配置宏文件:/etc/mail/sendmail.mc
vi /etc/mail/sendmail.mc

找到如下行:
代码
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
修改Addr=0.0.0.0 ,表明可以连接到任何服务器。

生成新的配置文件:
代码
#cd /etc/mail
#mv sendmail.cf sendmail.cf~ //做一个备份
#m4 sendmail.mc > sendmail.cf //>的左右有空格,提示错误没有安装sendmail-cf

 

运行sendmail配置时*** ERROR: FEATURE() should be before MAILER()错误 解决方法

*** 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
放到文档最后

测试发送邮件

 echo 'test' | mail -s 'test' aaa@163.com 
posted @ 2015-07-30 14:14  Forward1990  阅读(667)  评论(0编辑  收藏  举报