详解阿里云CentOS Linux服务器上用postfix搭建邮件服务器

 更新时间:2016年12月27日 14:37:30   作者:dudu  
本篇文章主要介绍了详解阿里云CentOS Linux服务器上用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 = jb51.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@jb51.info

回车

4. 填写收件人

RCPT TO:contact@jb51.net 

回车

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@jb51.net
554 5.7.1 <contact@jb51.net>: 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@jb51.info
TO:contact@jb51.net

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 使用linux命令crontab间隔时间执行其它命令

    使用linux命令crontab间隔时间执行其它命令

    crontab命令的功能是在一定的时间间隔调度一些命令执行,详解使用方法看下示例和解释
    2014-01-01
  • Linux设置虚拟内存的教学与实战教程

    Linux设置虚拟内存的教学与实战教程

    这篇文章主要给大家介绍了关于Linux设置虚拟内存教学与实战的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • linux中的内核死锁调试

    linux中的内核死锁调试

    这篇文章主要介绍了linux中的内核死锁调试方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 查看linux文件的命令详解

    查看linux文件的命令详解

    在本篇文章里小编给大家整理的是关于查看linux文件的命令总结内容,有需要的朋友们可以学习下。
    2020-02-02
  • Typecho程序伪静态规则大全(包括Linux/Windows)

    Typecho程序伪静态规则大全(包括Linux/Windows)

    Typecho程序的伪静态规则不同于wp直接默认可用,需要我们手工加载到空间中才可以生效。下面老左整理了这款程序在不同的主机环境中的伪静态规则,希望对大家有所帮助
    2012-09-09
  • 浅析centos 7 自带的 php 5.4升级为 5.6的方法

    浅析centos 7 自带的 php 5.4升级为 5.6的方法

    这篇文章主要介绍了centos 7 自带的 php 5.4升级为 5.6的方法,需要的朋友可以参考下
    2018-12-12
  • 解决虚拟机NAT模式无法上网问题

    解决虚拟机NAT模式无法上网问题

    文章主要介绍了确认虚拟机网络连接问题的两个步骤:首先检查虚拟机的IP地址是否与主机在同一网段,其次确保虚拟机相关服务已开启
    2024-12-12
  • Linux 下载安装VSCode 使用编程输出当前时间的方法

    Linux 下载安装VSCode 使用编程输出当前时间的方法

    这篇文章主要介绍了Linux 下载安装VSCode 使用编程输出当前时间,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Linux查看PCIe版本及速率的方法

    Linux查看PCIe版本及速率的方法

    在本篇文章里小编给大家整理的是关于Linux查看PCIe版本及速率的方法以及相关知识点,需要的朋友们参考下。
    2019-10-10
  • 基于Ubuntu 16.04设置固定IP的方法教程

    基于Ubuntu 16.04设置固定IP的方法教程

    这篇文章主要给大家介绍了基于Ubuntu 16.04设置固定IP的方法教程,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-10-10

最新评论