CentOS 搭建postfix邮件服务器
注:本文的邮件服务器只用于发送邮件,也就是STMP服务器。
一、准备工作
1. 为邮件服务器添加DNS解析
虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根据我们的实际经验,需要添加三条DNS解析记录:A记录、MX记录、TXT记录。比如域名cnblogs.info,对应的DNS记录如下:
2. 准备存放邮件的硬盘空间
如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要格式化并挂载(假设这里挂载的目录是/data),具体操作步骤见之前的博文阿里云云服务器硬盘分区及挂载。
二、配置postfix
postfix是CentOS默认安装的邮件服务器软件。以下配置示例假设要配置的域名是cnblogs.info,邮件服务器主机名是mail.cnblogs.info。
1. 打开postfix的配置文件
vi /etc/postfix/main.cf
2. :75 光标移至第75行,修改myhostname
myhostname = mail.cnblogs.info
3. :83 光标移至第83行,修改mydomain
mydomain = cnblogs.info
4. :99 光标移至第99行,修改myorigin
myorigin = $mydomain
5. :116光标移至第116行,修改inet_interfaces
inet_interfaces = all
6. :119光标移至第119行,修改inet_protocols
inet_protocols = ipv4
7. :164光标移至第164行,添加$mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
8. :264光标移至第264行,修改mynetworks
mynetworks = 127.0.0.0/8
子网掩码(netmask)转换器:Network and IP address calculator
9. :419 光标移至第419行,设置home_mailbox
home_mailbox = Maildir/
10. :425 光标移至第425行,设置mail_spool_directory,/data是之前挂载的数据盘,mail目录需要通过mkdir命令创建
mail_spool_directory = /data/mail
11. 重启postfix使设置生效
service postfix restart
三、用telnet测试邮件服务器是否正常
1. 在邮件服务器上安装telnet
yum install telnet
2. 连接服务器SMTP端口
telnet 127.0.0.1 25
3. 填写发件人
MAIL FROM:<test@cnblogs.info>
回车
4. 填写收件人
RCPT TO:contact@cnblogs.com
回车
5. 撰写邮件内容
5.1 开始写邮件内容
DATA
回车
5.2 输入标题
Subject: test message
回车
5.3 输入内容,并以.号结束
test body .
如果显示下面的信息,说明邮件进入发送队列
250 2.0.0 Ok: queued as 88D6D32A94
四、授权其他服务器通过该邮件服务器发送邮件
未授权的情况下,如果在其他服务器telnet这台服务器,在输入收件人之后会出现Relay access denied错误
RCPT TO:contact@cnblogs.com 554 5.7.1 <contact@cnblogs.com>: Relay access denied
解决方法:
vi /etc/postfix/main.cf,:264将光标移至第264行,在mynetworks的值之后加这台的服务器IP地址,比如:
mynetworks = 127.0.0.0/8 58.33.14.124
service postfix restart之后,问题解决。
五、其他问题
收到上面telnet发出的邮件时,你会发现收件人信息显示的是undisclosed recipients,解决方法是在DATA命令之后,输入Subject之前,分别输入:
FROM:test@cnblogs.info TO:contact@cnblogs.com
六、参考资料:
Install Postfix to configure SMTP Server
Postfix - using Telnet to test postfix
"To" field is populated with "undisclosed-recipients" sending emails from a telnet session.
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
解决Linux 下ping不通百度的解决方法
今天在学习DNS的时候遇到了一个问题,我的虚拟机能够ping通ip地址,却ping不通www.baidu.com www.qq.com等域名,先是出现了以下报错: 折腾了几个小时终于找到解决办法 1、首先查看虚拟机能否ping通外网可以ping网关试一下 ping 172.17.0.1 [plain]view plain copy 2、确保网关设置了 [plain]view plain copy vim /etc/sysconfig/network-scripts/ifcfg-eth1 [plain]view plain copy GATEWAY=172.17.0.1 DNS1=172.17.0.1 修改之后需要重启网络服务。centos6 : service network restart 3、确保有可用的域名服务器 cat /etc/resolv.conf 没有的话可以自己编辑一份 [plain]view plain copy vim /etc/resolv.conf nameserver 172.17.0.1 nameserver 114.114.11...
- 下一篇
Centos7 安装PhpStorm
1.官网下载PhpStorm最新的包,PhpStorm-2017.2.4.tar.gz 解压tar -zxfPhpStorm-2017.2.4.tar.gz 2然后将解压出来的目录移动到你喜欢的目录 mv PhpStorm /usr/local/phpstorm cd /usr/local/phpstorm/bin chmod 777 phpstorm.sh ./phpstorm.sh 3.开始安装,根据运行提示,输入相应license,从网上找了一个这个版本的license,测试能用 然后 ln -s /usr/local/phpstorm/bin/phpstorm.sh /usr/local/bin/phpstorm 这个就是给phpstorm创建环境变量,可以在命令行直接输入phpstorm命令来启动 (ps:由于安装后发现没有桌面图标,所以加入快捷方式 1.新建文件 touch phpstorm.desktop 2.编辑文件 vim phpstorm.desktop 以下是我的内容: [Desktop Entry] Categories=Development; Commen...
相关文章
文章评论
共有0条评论来说两句吧...