搭建服务环境: Centos 6

配置域名hosts: mail.demonC6.com

1.清理系统自带的邮件软件

# rpm -qa | grep sendmail*
# rpm -e sendmail* --nodeps

2. 安装postfix 和 dovecot 软件

postfix 是发送邮件服务器,可以将邮件发送到该服务器上, 监听端口为 25(SMTP)

dovecot 是接受邮件服务器, 可以到服务器上取回自己的邮件, 监听端口是 110(pop3)

yum -y install postfix*

3. 配置postfix

vim /etc/postfix/main.cf

需要修改的配置如下几项,红色表示需要开启), 蓝色表示需要注释关闭:

1)  更改邮件主机名和域名

 75 myhostname = mail.demonC6.com
#myhostname = virtual.domain.tld # The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
83 mydomain = demonC6.com

2)  修改组织

  # For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
98 myorigin = $myhostname
99 myorigin = $mydomain

3)  修改监听的地址

113 inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
116 #inet_interfaces = localhost

4)  修改收件人

164 mydestination = $myhostname,$mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
# mail.$mydomain, www.$mydomain, ftp.$mydomain

5) 修改网卡所在的网段

264 mynetworks = 192.168.10.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table

6)  修改转发的邮件域名

296 relay_domains = $mydestination

7)  修改postfix 邮件别名 (下面两项默认是开启的,不用动)

 #alias_maps = dbm:/etc/aliases
386 alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases # The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi". This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
397 alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases

4 启动postfix服务,查看监听端口

# service postfix start
# netstat -anptu | grep :
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp 192.168.10.129: 192.168.10.1: ESTABLISHED /sshd
tcp ::: :::* LISTEN /sshd

5 自我发邮件测试

[root@demon html]# echo  hello man | mail root@demonC6.com
[root@demon html]# mail
Heirloom Mail version 12.4 //. Type ? for help.
"/var/spool/mail/root": message new
>N root Sat May : /
& 1
Message :
From root@demonC6.com Sat May ::
Return-Path: <root@demonC6.com>
X-Original-To: root@demonC6.com
Delivered-To: root@demonC6.com
Date: Sat, May :: +
To: root@demonC6.com
User-Agent: Heirloom mailx 12.4 //
Content-Type: text/plain; charset=us-ascii
From: root@demonC6.com (root)
Status: R hello man
& d
& q

也可以通过telnet发邮件

[root@demon html]# telnet mail.demonC6.com 25
Trying 192.168.10.129...
Connected to mail.demonC6.com.
Escape character is '^]'.
mail.demonC6.com ESMTP Postfix
mail from: root@demonC6.com
2.1. Ok
rcpt to: root@demonC6.com
2.1. Ok
data
End data with <CR><LF>.<CR><LF>
Hello man, This is a test mail
.
2.0. Ok: queued as EAECD44917
quit
2.0. Bye
Connection closed by foreign host.
You have new mail in /var/spool/mail/root
[root@demon html]# mail
Heirloom Mail version 12.4 //. Type ? for help.
"/var/spool/mail/root": messages new
>N root@demonC6.com Sat May : /
N root@demonC6.com Sat May : /
& 2
Message :
From root@demonC6.com Sat May ::
Return-Path: <root@demonC6.com>
X-Original-To: root@demonC6.com
Delivered-To: root@demonC6.com
Date: Sat, May :: + (CST)
From: root@demonC6.com
To: undisclosed-recipients:;
Status: R Hello man, This is a test mail & q
Held messages in /var/spool/mail/root

6  配置 dovecot 并启动服务

# vim /etc/dovecot/dovecot.conf

将下面这一行注释去掉,开启即可

 protocols = imap pop3 lmtp

启动pop3服务

# service dovecot start
# netstat -anptu  | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /dovecot
tcp ::: :::* LISTEN /dovecot

创建两个测试用户,测试相互收发邮件

# useradd user1 && echo  | passwd --stdin user1
# useradd user2 && echo | passwd --stdin user2

user1 给 user2 发送邮件

# su - user1
$ echo "user1 -> user2" | mail user2@demonC6.com
$ su
user2
$ mail
-u user2
Heirloom Mail version 12.4 //. Type ? for help.
"/var/mail/user2": message new
>N user1@demonC6.com Sat May : /
&
Message :
From user1@demonC6.com Sat May ::
Return-Path: <user1@demonC6.com>
X-Original-To: user2@demonC6.com
Delivered-To: user2@demonC6.com
Date: Sat, May :: +
To: user2@demonC6.com
User-Agent: Heirloom mailx 12.4 //
Content-Type: text/plain; charset=us-ascii
From: user1@demonC6.com
Status: R
user1 -> user2
& q

Postfix 邮件服务器搭建的更多相关文章

  1. 烂泥:Postfix邮件服务器搭建之虚拟用户配置

    virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...

  2. 烂泥:Postfix邮件服务器搭建之准备工作

    说实话,Postfix邮件服务器的搭建是一件很麻烦的事情,需要各种软件之间的配置和调试.在写这篇文章之前,我也是搭建测试了不下于10次才算把整个流程给走通,今天刚好有时间把整个搭建过程记录下来. 在正 ...

  3. 烂泥:Postfix邮件服务器搭建之软件安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb Postfix邮件服务器的搭建需要使用到几个软件,分别是cyrus-sasl.postf ...

  4. postfix邮件服务器搭建01-准备篇

    本系列文章主要介绍linux下主流的开源邮件系统postfix的搭建过程,构建一个通过postfix虚拟用户管理的完整的邮件系统, 该系统包括以下组件: 邮件收发端postfix,dovecot, 邮 ...

  5. Postfix邮件服务器搭建及配置

    一.邮件服务器(Mail Server)的传输协议 1.简单邮件传输协议(SMTP):Simple Mail Transger Protocol 2.扩展的简单邮件传输协议(ESMTP):Extend ...

  6. postfix邮件服务器搭建03-webmail安装篇

    本文接着上文的安装进行,介绍另一个WebMail功能更加人性化的roundcube.当然也可以对已有的postfix邮件系统进行功能完善 1.下载安装roundcube cd /server/tool ...

  7. postfix邮件服务器搭建02-安装篇

    本文接着上文的环境,进行postfix邮件发信端和dovecot邮件收信端的部署,之后部署基于浏览器的extmail图形管理端,使管理员可以通过网页对邮件虚拟用户进行管理,对邮件服务器进行管控 1.p ...

  8. postfix邮件服务器搭建04-终结篇

    本来是计划对postfix做一个全系列的安装文档的,不过在查某个知识点的时候,偶然找到一个已经写好的postfix全系列文章,在全部看完之后惊为天人,我认为:总体上会比我要写的要好,所以我准备借用一下 ...

  9. CentOS6.4下邮件服务器搭建

    CentOS6.4下邮件服务器搭建   linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...

随机推荐

  1. segMatch:基于3D点云分割的回环检测

    该论文的地址是:https://arxiv.org/pdf/1609.07720.pdf segmatch是一个提供车辆的回环检测的技术,使用提取和匹配分割的三维激光点云技术.分割的例子可以在下面的图 ...

  2. 性能优化系列七:SQL优化

    一.SQL在数据库中的执行过程 二.执行计划 1. ACID 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会 ...

  3. linux 网络配置 (配置/etc/sysconfig/network-scripts/ifcfg-ethx)

    背景 需要往服务器上安装软件:并且像maven代理的话必须连接公网.首先配置了网关,发现可以通过ip访问公网了,在配置了DNS可以通过域名访问公网了 实例 配置linux 可以上网的操作 vi /et ...

  4. python日志,一个改版SMTPHandler

    1.官方logging包的SMTPHandler不支持ssl的邮箱,修改成兼容ssl以支持大部分国内邮箱. 2.增加一个频率控制的参数,比如要设置一个报警邮件,异常时候通知我们,但假设1分钟内异常几千 ...

  5. sshpass: 用于非交互的ssh 密码验证

    ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器. 它支持密码从命令行,文件,环境变 ...

  6. Zookeeper安装使用及JavaAPI使用

    一.Zookeeper单击模式安装及使用 1.系统环境 2.导入JDK和Zookeeper包 1).使用SecureCRT工具打开SFTP连接,直接拖拽,到当前用户文件夹下,然后使用mv命令(mv 文 ...

  7. Markdown 标题

    用 Markdown 书写时,只需要在文本前面加上 # 即可创建标题,Markdown 支持六级标题,语法及效果如下 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五 ...

  8. js -【 数组】判断一个变量是数组类型的几种方法

    怎么判断一个数组是数组呢? 其实这个也是一个常考的题目.依稀记得我为数不多的面试经过中都被问道过. 方案一: instanceof variable instanceof Array 解决思路: 使用 ...

  9. 关于pyinstall打包时的依赖问题

    前几天写了一个人脸表情分析的小程序,想用pyinstall打包成一个可以移植的小软件.因为之前用过pyinstall,所以这次使用同样的方法对我的程序进行打包: [pyinstaller -F --i ...

  10. Centos 解决SSH 免密码登录 以及Crontab制作定时SSH自动登录和关闭的脚本

    一.SSH免密码登录 假设要登录的机器为192.168.1.100,当前登录的机器为192.168.1.101. 首先在101的机器上生成密钥(如果已经生成可以跳过): $ ssh-keygen -t ...