zoukankan      html  css  js  c++  java
  • 转-阿里云CentOS Linux服务器上用postfix搭建邮件服务器

    http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html

    注:本文的邮件服务器只用于发送邮件,也就是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.

  • 相关阅读:
    Rotation Kinematics
    离职 mark
    PnP 问题方程怎么列?
    DSO windowed optimization 代码 (4)
    Adjoint of SE(3)
    IMU 预积分推导
    DSO windowed optimization 代码 (3)
    DSO windowed optimization 代码 (2)
    OKVIS 代码框架
    DSO windowed optimization 代码 (1)
  • 原文地址:https://www.cnblogs.com/Caleb-NoOnly/p/5703691.html
Copyright © 2011-2022 走看看