注:本文的邮件服务器只用于发送邮件,也就是stmp服务器。
一、准备工作
1. 为邮件服务器添加dns解析
虽然不加dns解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根据我们的实际经验,需要添加三条dns解析记录:a记录、mx记录、txt记录。比如域名cnblogs.info,对应的dns记录如下:
爱主机评测网,最优惠主机信息推荐,便宜VPS分享,香港CN2
2. 准备存放邮件的硬盘空间
如果用的是阿里云入门级linux服务器,有一块20g的数据盘未挂载,需要格式化并挂载(假设这里挂载的目录是/data)。
二、配置postfix
postfix是centos默认安装的邮件服务器软件。以下配置示例假设要配置的域名是cnblogs.info,邮件服务器主机名是mail.cnblogs.info。
1. 打开postfix的配置文件
1
|
vi /etc/postfix/main .cf |
2. :75 光标移至第75行,修改myhostname
1
|
myhostname = mail.cnblogs.info |
3. :83 光标移至第83行,修改mydomain
1
|
mydomain = jb51.info |
4. :99 光标移至第99行,修改myorigin
1
|
myorigin = $mydomain |
5. :116光标移至第116行,修改inet_interfaces
1
|
inet_interfaces = all |
6. :119光标移至第119行,修改inet_protocols
1
|
inet_protocols = ipv4 |
7. :164光标移至第164行,添加$mydomain
1
|
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain |
8. :264光标移至第264行,修改mynetworks
1
|
mynetworks = 127.0.0.0 /8 |
子网掩码(netmask)转换器:network and ip address calculator
9. :419 光标移至第419行,设置home_mailbox
1
|
home_mailbox = maildir/ |
10. :425 光标移至第425行,设置mail_spool_directory,/data是之前挂载的数据盘,mail目录需要通过mkdir命令创建
1
|
mail_spool_directory = /data/mail |
11. 重启postfix使设置生效
1
|
service postfix restart |
三、用telnet测试邮件服务器是否正常
1. 在邮件服务器上安装telnet
1
|
yum install telnet |
2. 连接服务器smtp端口
1
|
telnet 127.0.0.1 25 |
3. 填写发件人
1
|
mail from: test @jb51.info |
回车
4. 填写收件人
1
|
rcpt to:contact@jb51.net |
回车
5. 撰写邮件内容
5.1 开始写邮件内容
data
回车
5.2 输入标题
1
|
subject: test message |
回车
5.3 输入内容,并以.号结束
1
2
|
test body . |
如果显示下面的信息,说明邮件进入发送队列
250 2.0.0 ok: queued as 88d6d32a94
未授权的情况下,如果在其他服务器telnet这台服务器,在输入收件人之后会出现relay access denied错误
1
2
|
rcpt to:contact@jb51.net 554 5.7.1 <contact@jb51.net>: relay access denied |
解决方法:
vi /etc/postfix/main.cf,:264将光标移至第264行,在mynetworks的值之后加这台的服务器ip地址,比如:
1
|
mynetworks = 127.0.0.0 /8 58.33.14.124 |
service postfix restart之后,问题解决。
五、其他问题
收到上面telnet发出的邮件时,你会发现收件人信息显示的是undisclosed recipients,解决方法是在data命令之后,输入subject之前,分别输入:
1
2
|
from: test @jb51.info to:contact@jb51.net |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。