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

转载 2016年09月18日 16:55:31

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

CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建

CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建 实验内容: 1. 初始环境的优化 2. DNS服务器的搭建和postfix域名解析 3. Postfix服...
  • f1228308235
  • f1228308235
  • 2018-01-14 16:06:17
  • 553

Laravel 发送邮件(最简单的讲解!)

Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于config/mail.php:、 return [ 'driver' => env('MAIL_DRIVER', ...
  • qiandublog
  • qiandublog
  • 2016-08-19 11:06:53
  • 9431

Golang发送邮件

简述Go 提供了一个 smtp(Simple Mail Transfer Protocol - 简单邮件传输协议)库作为其网络包的一部分,“net/smtp”公开了一些可立即使用的有用功能。Gomai...
  • u011012932
  • u011012932
  • 2016-11-09 18:07:24
  • 5034

阿里云CentOS Linux6.5服务器上用postfix +dovecot搭建邮件服务器--亲测好用

阿里云CentOS Linux6.5服务器上用postfix +dovecot搭建邮件服务器 完整篇 亲测好用版本...
  • unixtech
  • unixtech
  • 2016-11-08 09:29:27
  • 3602

CentOS利用postfix搭建邮件服务器

之前我用nodemailer通过163邮箱来发送邮件,不过没过几天就一直ETIMEDOUT,不知道什么原因,想着还是自己搭一个来发邮件可能靠谱点(flag?)安装postfixCentOS 7 自带了...
  • azureternite
  • azureternite
  • 2016-08-31 01:29:36
  • 1120

编译安装postfix, 执行make install时报错: bin/postconf: error while loading shared libraries: libmysqlclient.s

Postfix make编译正常, make install的时候, 出现错误:bin/postconf: error while loading shared libraries:libmysqlc...
  • qq_29307291
  • qq_29307291
  • 2016-08-10 12:05:20
  • 187

python3 发送邮件 send mail 使用 163 smtp服务器

监控本地网络速度,通过api 请求速度,发现速度异常,发送报警邮件:#! /usr/bin/env python3 # -*- coding: UTF-8 -*- import smtplib...
  • zeli1511
  • zeli1511
  • 2018-03-10 14:46:33
  • 110

基于腾讯云主机CentOS搭建邮件收发服务器

搭建 Postfix、Dovecot 邮件服务 准备域名 任务时间:15min ~ 20min 域名注册 如果您还没有域名,可以在腾讯云上选购,过程可以参考下面的视频。 ...
  • dreamstone_xiaoqw
  • dreamstone_xiaoqw
  • 2017-09-04 18:42:54
  • 1661

CentOS 7.2 部署邮件服务器(Postfix)

一、Postfix简介 Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良s...
  • wh211212
  • wh211212
  • 2016-11-04 23:10:36
  • 8711

GitLab设置SMTP邮件服务器

GitLab 是一款开源的免费软件。 主要功能:Git repository 管理, 代码 reviews, issue 跟踪等。 安装GitLab 1. Install and conf...
  • charlsehan
  • charlsehan
  • 2015-07-08 11:54:44
  • 8936
收藏助手
不良信息举报
您举报文章:阿里云CentOS Linux服务器上用postfix搭建邮件服务器
举报原因:
原因补充:

(最多只允许输入30个字)