个人邮件服务器sendmail研究
[| 2010/09/14 21:35]
今天搞到了个qq企业邮箱的邀请码,于是把我的域名邮箱迁移到了企业邮箱上,突发奇想,想让我的vps也当当邮件服务器,设一个二级域名的mx记录上去。
然后突然疑惑了,smtp是用来发邮件给其他服务器的,那接受其他服务器发过来的邮件怎么办呢?貌似pop3是接邮件的,但是一查又怪怪的。
后来终于搞懂了,smtp是服务器间传送邮件用的。pop3/imap是用户从服务器上取邮件用的。我只是想收邮件,并不用Foxmail等软件从服务器上取,所以不用装pop3服务器。
所以系统自带的sendmail就可以了。
sendmail默认是只监听本地端口的,这时只能向外网发邮件,不能接收外网发过来的邮件,我们需要修改配置文件。
在CentOS下/etc/mail/sendmail.mc,修改此文件,把DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 注释掉。
然后运行:m4 /etc/mail/sendmail.mc < sendmail.cf
这个时候可能会提示找不到*****cf文件。原因是没有装sendmail-cf这个软件包,装上即可
然后重启sendmail。
这个时候美滋滋的试着发邮件给vps,结果被退信了:said: 550 5.7.1 ... Relaying denied (in reply to RCPT TO command)
查了下,是由于/etc/mail/local-host-names 里没有配置服务器的域名,比如我想接收**@abc.com,那么在这个里面就要写上:abc.com
然后重启服务器。
再发,还是不行,告知User unknown 。这个问题是由于收件人不存在造成的,以收件人的名字新建一个用户即可。
再试,成功了。
还有一个地方,就是/etc/mail/access,这个文件是规定哪些ip可以使用这个smtp服务器发邮件,我并不想远程使用smtp发邮件,并且为了安全性考虑,这个文件保持不动,这样就只能localhost账户发送邮件出去了。
然后突然疑惑了,smtp是用来发邮件给其他服务器的,那接受其他服务器发过来的邮件怎么办呢?貌似pop3是接邮件的,但是一查又怪怪的。
后来终于搞懂了,smtp是服务器间传送邮件用的。pop3/imap是用户从服务器上取邮件用的。我只是想收邮件,并不用Foxmail等软件从服务器上取,所以不用装pop3服务器。
所以系统自带的sendmail就可以了。
sendmail默认是只监听本地端口的,这时只能向外网发邮件,不能接收外网发过来的邮件,我们需要修改配置文件。
在CentOS下/etc/mail/sendmail.mc,修改此文件,把DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA') 注释掉。
然后运行:m4 /etc/mail/sendmail.mc < sendmail.cf
这个时候可能会提示找不到*****cf文件。原因是没有装sendmail-cf这个软件包,装上即可
然后重启sendmail。
这个时候美滋滋的试着发邮件给vps,结果被退信了:said: 550 5.7.1 ... Relaying denied (in reply to RCPT TO command)
查了下,是由于/etc/mail/local-host-names 里没有配置服务器的域名,比如我想接收**@abc.com,那么在这个里面就要写上:abc.com
然后重启服务器。
再发,还是不行,告知User unknown 。这个问题是由于收件人不存在造成的,以收件人的名字新建一个用户即可。
再试,成功了。
还有一个地方,就是/etc/mail/access,这个文件是规定哪些ip可以使用这个smtp服务器发邮件,我并不想远程使用smtp发邮件,并且为了安全性考虑,这个文件保持不动,这样就只能localhost账户发送邮件出去了。