学习
在这一节中,将引进一个新词“只发不收”。说白了就是有这么一种服务器。发件人通过它发出去的邮件,收件人无法通过“回复”功能回复邮件。即便回复了,发件人也收不到。
这时或许就有人疑惑了,那这种电子邮件系统有什么用啊?我告诉你,这种邮件系统太有用了。做过Linux系统管理员的人都有这么一个体会,每天登录各种服务器,查看性能参数。服务器数量少了还好处理一些。随着服务器数量的增多,往往会忘记登录哪台服务器。为了解决这种问题,往往在服务器上编写各种脚本,收集服务器性能参数,通过电子邮件的形式发送给自己。这种情况下,服务器只发送邮件,不接收邮件!
配置“只发不收”型的邮件服务器非常简单,如下所示。
Sendmail安装启动
安装base软件组,启动Sendmail服务。这里作者并不设置Sendmail的开机启动,因为接下来就会将MTA切换到Postfix。没必要费功夫设置这个!
查看Sendmail服务器是否运行[root@localhost ~]# service sendmail status
sendmail (pid 1691) is running...
sm-client (pid 1700) is running...
邮件服务器必须配置一个全后缀主机名,因为邮件服务器是通过DNS的MX记录解析的。下面配置可在不重启服务器的情况下,设置主机名
重新登陆系统后,执行如下语句查看主机名是否已经配置完毕[root@mail2 ~]# hostname
mail2.xiyang-liu.com
这时,已经可以通过senmail的默认配置向外界发送邮件了,因为本文档不着重讲解Sendmail,所以这部分配置就略去了。
使用Sendmail发送邮件
使用Sendmail向外界发送邮件有三种方法:直接调用Sendmail发送邮件,常用于LAMP环境下的
通过SMTP命令行直接发送邮件。
通过Linux下的命令mailx(MUA的一种)命令发送邮件。
下面逐一讲解这三种方法。
通过LAMP调用Sendmail在/etc/php.ini中配置节选如下; For Unix only. You may supply arguments
启动apache之后,即可通过Sendmail命令直接发送邮件到特定的账户。Nagios和cacti配置中会用到这个功能。
使用mailx发送邮件
在mailx -s “subject:
上述方式只能手动在命令行中手动输入邮件内容。有什么方法能不输入任何内容即可发送邮件? 想一想,哈哈!
使用SMTP Command发送邮件
通过SMTP命令行发送邮件。基本命令的解释如下图所示:
实际命令操作如下,被双尖括号包围的是用户输入部分:[root@mail2 ~]#
Sendmail的SMTP命令行支持HELP命令提供简单的命令,如下所示:[root@mail2 ~]#telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 mail2.xiyang-liu.com ESMTP Sendmail 8.14.4/8.14.4; Wed, 12 Jun 2013 11:18:57 +0800
>>ehlo client<<
250-mail2.xiyang-liu.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>help<<
214-2.0.0 This is sendmail
214-2.0.0 Topics:
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN VERB ETRN DSN AUTH
214-2.0.0 STARTTLS
214-2.0.0 For
查看邮件是否已经被接受,如下是thunderbird的截图:
本文通过Sendmail搭建的邮件服务器,着重讲解了SMTP Command的应用。为以后Postfix的讲解做好铺垫。