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//修改为你的主 ...
随机推荐
- 【java】i++与++i、i--运算
package test; //i++与--i运算 public class test { public static void main(String[] args) { int b=0; int ...
- Python基础之列表深浅复制和列表推导式
一.列表深浅复制: 浅拷贝内存图如下: 深拷贝内存图如下: 二.列表推导式: 实例: """ 列表推导式 练习:exercise01 """ ...
- 滑动viewpage
Adapter: package com.example.fashionyuan.Adatader; import android.support.v4.app.Fragment;import and ...
- C# 换行
要让一个Windows Form的TextBox显示多行文本就得把它的Multiline属性设置为true. 要让TextBox里面的文本换行大家往往会想到直接在要换行的地方加个转义的换行符&quo ...
- ubuntu16.04安装mrpt
源码地址 https://github.com/MRPT/mrpt 安装教程 https://github.com/MRPT/mrpt/blob/master/README.md#32-build-f ...
- Codeforces 1154F - Shovels Shop - [DP]
题目链接:https://codeforces.com/contest/1154/problem/F 题解: 首先,可以确定的是: 1.$(x,y)$ 里 $x>k$ 的都不可能用: 2.肯定买 ...
- vim删除.swp
非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备 ...
- 封装和static 以及关键字“this”的用法
1 封装 1.1 构造方法 构造方法是一种特殊的方法,专门用于构造/实例化对象,形式 [修饰符] 类名(){}: 1.1.1 无参构造 无参构造方法就是构造方法没有任何参数.构造方法在创建对象(new ...
- Hint: Fallback method 'public java.lang.String queryUserByIdFallback(java.lang.Long)' must return: User or its subclass
1.错误日志 熔断器添加错误方法返回时,报了一个 error. com.netflix.hystrix.contrib.javanica.exception.FallbackDefinitionExc ...
- MSSQL2008 数据库展开报错:值不能为空。 参数名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer)
今天打开数据库,结果出现:值不能为空. 参数名: viewInfo (Microsoft.SqlServer.Management.SqlStudio.Explorer) 百度之后找到其中一种解决方案 ...