Linux的邮件服务器配置
一、邮件服务简介
1、电子邮件服务是Interne上最基本的服务之一,进入互联网的用户不需要任何纸张就可以方便地使用电子邮件来收发邮件
2、Internet上的电子邮件服务都是基于客户/服务器模式的
3、客户端通常使用电子邮件软件(如Outlook Express、Foxmail等)来收发邮件
4、邮件系统的组成:
(1)MUA:在客户端执行的软件,用来接受用户的指令,将用户的信件传送至信件传输代理
(2)MTA:用在邮件服务器端执行的软件,它也是主要的邮件服务器,可以在服务器间传输电子邮件
(3)MDA:通常与MTA 一同运行,主要的功能就是将MTA 所接收的信件,依照信件的流向(送到哪里去)来将该信件放置到本机账户下的邮箱(Mailbox)或者是再经由MTA将该信件送到下一个MTA
二、实验目的
本实验在Linux的DNS配置3-多域实验的基础上,新增两台MUA,并对三台DNS Server进行相应设置,使得两台MUA能够相互收发邮件
三、实验拓扑

从左至右虚拟机分别命名为:client.alice.com、mail.alice.com、gw、mail.bob.com、client.bob.com
四、实验步骤
(1)搭建如图所示的网络环境(参考:Linux基础网络搭建实验)
- client.alice.com可以Ping通client.bob.com:

- mail.alice.com可以Ping通mail.bob.com:

(2)完成多域的配置(参考:Linux的DNS配置3-多域)
- 在alice上解析bob的邮件记录:

- 在bob上解析alice的邮件记录:

(3)在mail.alice.com上:
1)修改postfix的主配置文件
[root@lyy 桌面]# gedit /etc/postfix/main.cf
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level =
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = alice.com
myhostname = mail.alice.com
mynetworks = 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6./README_FILES
relay_domains = $mydestination, bob.com
sample_directory = /usr/share/doc/postfix-2.6./samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
unknown_local_recipient_reject_code =
注意:红色字体为需要修改的部分,蓝色字体为需要添加的部分!
2)如何修改
- 点击“收搜”——“查找”(Ctrl+F)

- 输入要修改的关键字如“home_mailbox”

- 一直按回车键直到找到需要修改的部分,进行相应修改

- 按照此方法,将需要修改的部分一一修改
如不想进行修改,可以直接下载已经修改好的文件,传入到/etc/postfix中将原有文件进行替换
文件地址:http://pan.baidu.com/s/1o8RY6Oa
3)检查配置文件是否修改正确
[root@lyy 桌面]# postconf -n

注意:保证配置文件修改正确,否则邮件服务会出现各种问题!
4)修改或替换完成后,启动postfix服务
[root@lyy 桌面]# service postfix start
5)创建用户user1
[root@lyy 桌面]# useradd user1
[root@lyy 桌面]# passwd user1

(我的密码为:123456)
6)获得sasl的认证
- 将/etc/sysconfig/saslauthd文件中的MECH=pam改为 MECH=shadow
[root@lyy 桌面]# gedit /etc/sysconfig/saslauthd

- 启动saslauthd
[root@lyy 桌面]# service saslauthd start
- 解除SELinux的限制(需要等待20s左右)
[root@lyy 桌面]# setsebool -P allow_saslauthd_read_shadow
- 验证是否能够使用系统上的账号密码来进行认证
[root@lyy 桌面]# testsaslauthd -u user1 -p 123456(你的密码)

7)安装dovecot服务
[root@lyy 桌面]# yum install dovecot -y
8)配置dovecot服务(需要修改4个文件)
[root@lyy 桌面]# gedit /etc/dovecot/dovecot.conf

[root@lyy 桌面]# gedit /etc/dovecot/conf.d/-auth.conf


[root@lyy 桌面]# gedit /etc/dovecot/conf.d/-mail.conf

[root@lyy 桌面]# gedit /etc/dovecot/conf.d/-master.conf

9)启动dovecot服务
[root@lyy 桌面]# service dovecot start
10)防火墙开放110和25号端口
[root@lyy 桌面]# iptables -I INPUT -p tcp -m multiport --dports , -j ACCEPT
[root@lyy 桌面]# iptables -I INPUT -p udp -m multiport --dports , -j ACCEPT
(4)在mail.bob.com上:
1)修改postfix的主配置文件(方法同alice)
2)检查postfix的配置文件是否修改正确
[root@lyy 桌面]# postconf -n

3)修改或替换完成后,启动postfix服务
[root@lyy 桌面]# service postfix start
4)创建用户user2

5)获得sasl的认证(操作参考alice)

6)安装dovecot服务
7)配置dovecot服务(操作同alice)
8)启动dovecot服务
9)防火墙开放110和25号端口
(5)在client.alice.com上:
1)设置DNS服务器
[root@lyy yum.repos.d]# gedit /etc/resolv.conf

2)安装邮件客户端thunderbird
[root@lyy yum.repos.d]# yum install thunderbird -y
3)添加用户user1
- 点击“应用程序”——“Internet”——“Thunderbird Mail”——“跳过并使用已有的电子邮件”

- 输入user1的相关信息,点击“继续”

- 找到用户相关设置项,点击“完成”



- 用户user1添加完成

(6)在client.bob.com上:
1)设置DNS服务器

2)安装邮件客户端thunderbird
3)添加用户user2(方法同user1)

五、结果测试
(1)用user1给user2写邮件



(2)在user2上获取并回复邮件


(3)在user1上查看user1的回复

发现能够使用user1和user2相互通信,实验成功!
【版权所有,转载请注明原文出处:http://www.cnblogs.com/liaoyuanyang/p/6942447.html 】
Linux的邮件服务器配置的更多相关文章
- linux 内核邮件列表
第一节 - 一般性问题 1. 为什么有些时候使用“GNU/Linux"而另一些时候使用“Linux”? 答:在这个FAQ中,我们尝试使用“linux”或者“linux kernel”来表示内 ...
- linux sendmail 邮件服务器架设(fedora 8)
linux sendmail 邮件服务器架设(fedora 8) 2009-01-22 17:27 3316人阅读 评论(2) 收藏 举报 邮件服务器linuxprotocolscaching测试lo ...
- Linux显示邮件状态等信息
Linux显示邮件状态等信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -l Login: youhaidong Name: youhaid ...
- Linux mail 邮件发送
Linux mail 邮件介绍 在Linux系统下我们可以通过”mail“命令,发送邮件,在运维中通常我们它来实现邮件告警. 安装 (方案1) 一.安装邮件服务 yum install -y send ...
- [Linux]Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- Linux下Apache服务器配置
Linux下Apache服务器配置 相关包: httpd-2.2.3-29.e15.i386.rpm //主程序包 httpd-devel-2.2.3-29.e15.i ...
- mantis基本配置及邮件服务器配置
邮件服务器配置 在c:\php-5.0.3\php.ini文件中查找smtp,将localhost改为你的发件服务器,如SMTP = smtp.163.com 在php.ini文件中查找sendm ...
- linux配置邮件客户端
linux配置邮件客户端 1. 申请一个163邮箱,并配置客户端授权密码 l 开启POP3/SMTP/IMAP l 设置客户端授权密码 ###此密码不能跟邮箱密码相同,此密码用来在linux邮件客户端 ...
- REHL5.5 linux的postfix的邮件服务器配置 (笔记)
一.发送邮件服务器(smtp服务器) 1.系统安装时已经有postfix. 2.修改配置 1)vi main.cf //你可以先备份一下配置文件 myhostname = INMSC2//修改为你的主 ...
随机推荐
- (90)Wangdao.com第二十三天_JavaScript CSS 操作
CSS 操作 通过 JavaScript 操作 CSS HTML 元素的 style 属性 <div style="background-color:red; border:1px s ...
- js 原生_拖动页面元素,松开释放
嗯哼.不多说,直接上代码了. // 为元素 绑定拖动事件 function bindDragEvent(obj){ obj.onmousedown = function(e){ e = e || wi ...
- larave异步多图片上传的实现和注意事项及$file的对象函数
要使用多图片上传,首先要在input添加multipart,同时注意name的参数要加[],不然,不算是数组.具体如下,注意绿色地方.如果是单张图片,把[]去掉,不要multiple; <inp ...
- Java是如何加载资源文件的?(源码解毒)
上文提到应老板要求开发一个测试工具能方便的加载存于文件中的测试参数,当时考虑既然是测试,把测试参数文件和测试类放在一起岂不是很方便,但是老板说:我的需求是你把测试参数文件放到统一文件夹下比如resou ...
- uperTextView-从未如此惊艳!一个超级的TextView
简介 下载:http://www.see-source.com/androidwidget/detail.html?wid=1273 欢迎使用SuperTextView,这篇文档将会向你展示如何使用这 ...
- 解密Redis的持久化和主从复制机制
Redis持久化 Redis 提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化记录服务器执 ...
- flutter学习之二Material Design设计规范
前言: 最近在自学flutter跨平台开发,从学习的过程来看真心感觉不是那么一件特别容易的事.不但要了解语法规则, 还要知晓常用控件,和一些扩展性的外延知识,所以套一句古人的话“路漫漫其修远矣,无将上 ...
- laravel读取excel
$filePath = 'storage/exports/成员信息.xls'; Excel::load($filePath, function ($reader) {// $data = $reade ...
- Python的基本语法2
一.运算符 # 算术运算符, +, -, *, /, //, %, **, 注意//为整除 # 赋值运算符, =, +=, -=, *=, /=, //= ,%=, **= # 比较运算符, ==, ...
- HTML+CSS+JavaScript-案例
CSS-flex弹性布局案例1: HTML代码: <!DOCTYPE html> <html lang="en"> <head> <met ...