linux 邮件服务器
邮件通信系统协议及概念:
软件角色:
MUA:邮件客户端
MTA:邮件服务端
MDA:邮件服务端模块
邮件客户端:Mail User Agent,邮件用户代理
邮件服务端:Mail Transfer Agent,邮件传输代理
邮件服务端的模块/功能:Mail Delivery Agent,邮件分发代理
发送,投递邮件——Postfix
收取邮件——Dovecot
通信协议及过程:
邮件传递双方的通信规则
SMTP:简单邮件传输协议(TCP25)
POP3:离线取信协议,第三版邮件协议(TCP110)
IMAP4:在线管理信件协议,第四版网际消息访问协议(TCP143)
发件人—SMTP—》MTA—SMTP—》MTA—POP3/IMAP—MUA
常见的邮件服务器软件
Ppostfix
兼容Sendmail,采用模块化设计
在投递效率,稳定性,性能及安全方面均表现出色
Exchange
微软公司产品,方便与windows系列产品集成,协作性好
其他开源MTA软件
Qmail Sendmail
邮件客户端软件
命令行工具
telnet 邮件服务器 端口
mail mutt
图形收发信软件工具
microsoft outlook
Tencent foxmail
mozilla thunderbird(雷鸟)
————————————————————————————————
邮件系统构成
发信服务+收信服务+客户端工具
案例:
邮件服务器:mail.Anonymous.cn 192.168.4.6
邮件域:@Anonymous.cn
邮件账号:服务器的本地系统用户
主要软件
发信服务:postfix
收信服务:dovecot
MX(Mail exXchange 邮件交换记录)
[root@svr6 ~]# useradd x(创建两用户)
[root@svr6 ~]# useradd xx
[root@svr6 named]# vim /etc/named.conf
options {
directory "/var/named";
};
zone "Anonymous.cn" {
type master;
file "Anonymous.cn.zone";
};
[root@svr6 named]# vim Anonymous.cn.zone
@ MX 10 mail.Anonymous.cn.(@ MX 优先级 邮件服务器的fqdn)
mail A 192.168.4.6(邮件服务器地址)
[root@pc05]# service named restart
发信服务:Postfix:
在redhat6,postfix已经默认安装,但是监听地址是127.0.0.1:25
相关目录及配置文件
配置文件,存放在/etc/postfix/下
服务配置:/etc/postfix/main.cf
主程序配置:/etc/postfix/master.cf
管理程序,存放在/usr/sbin/下
postalias,postmap,postconf,postfix,postqueue,postsuper
邮件通信日志(排错依据):
/var/log/maillog
邮件队列目录,/var/spool/postfix子目录
incoming,active,deferred,hold,corrupt
postconf:查看当前有效配置(所有可设置的项)
postconf -d:查看所有默认配置(所有可设置的项)
postconf -n:只列出修改过的配置(非默认)
postconf -e 'inet_interfaces = all'(直接改选项)
[root@svr6 postfix]# postconf
服务接口及域设置:
基本配置参数
inet_interfaces:监听服务的接口地址
myhostname:服务器主机名
mydomain:主邮件域
myorigin:外发邮件时的发邮件域地址
mydestination:能够本地投递的收件域
邮箱类型及位置:
邮箱类型
mbox:每个用户一个邮箱文件,存放所有的邮件消息,当邮件内容较多时效率较低
——》传统邮箱:/var/spool/mail/用户名
maildir:每个用户一个邮箱目录,每封邮件对应一个单独的文件,存取速度和效率更好,管理邮件内容更加方便
home_mailbox:邮箱位置及类型
[root@svr6 postfix]# vim main.cf
home_mailbox = Maildir(采用Maildir邮箱类型)
Ps:其中maildir表示邮箱名称,放在用户宿主目录下,当收到第一封邮件后会自动创建。
末尾的 / 表示此邮箱是一个目录(非mailbox方式)
精简配置文件
[root@svr6 postfix]# cp main.cf main.bak(安全起见,备份默认的配置文件)
[root@svr6 postfix]# mv a.txt main.cf (覆盖原有的配置文件)
mv:是否覆盖"main.cf"? y(y)
[root@svr6 postfix]# vim main.cf (修改main.cf)
inet_interfaces = all(开启)
mydomain = Anonymous.cn(主邮件域)
myhostname = mail.$mydomain($mydomain变量,相当于mail.Anonymous.cn)
myorigin = $mydomain
mydestination = $mydomain,$myhostname, localhost.$mydomain, localhost(加上$mydomain变量)
home_mailbox = Maildir/
[root@svr6 ~]# service postfix restart(配置好后,重启服务)
MUA客户端软件
mail命令:不需要任何配置,直接在本机作为邮件服务器
只要做必要的配置,可以以其他主机作为邮件服务器
mail用法:
发信:mail -s '标题' -r 发件人地址 收件人地址
echo '文件'| mial -s '标题' -r 发件人地址 收件人地址
mial -s '标题' -r 发件人地址 收件人地址 < 文件目录/文件
[root@svr6 ~]# mail -s 'hydra' -r xx@Anonymous x@Anonymous.cn(实例)
hail hydra!!(写完后ctrl+d发送)
[root@svr6 ~]# echo 'hail hydra'|mail -s 'hydra' -r xx@Anonymous.cn x@Anonymous.cn(管道方式发送)
[root@svr6 ~]# mail -s 'hydra' -r xx@Anonymous.cn x@Anonymous.cn < /etc/passwd(邮件内容较多时,可以先把邮件写好封装在文件中,用<重定向输入)
收信:
[root@svr6 ~]# ls ~x/(进入x的家目录)
Maildir
[root@svr6 ~]# ls ~x/Maildir/(新邮件放在new下)
cur/ new/ tmp/
[root@svr6 ~]# ls ~x/Maildir/new/
1499966759.Vfd00I100928M340082.svr6.tedu.cn
1499967055.Vfd00I10092bM763659.svr6.tedu.cn
1499967565.Vfd00I10092cM389136.svr6.tedu.cn
[root@svr6 ~]# cat ~x/Maildir/new/1499966759.Vfd00I100928M340082.svr6.tedu.cn(查看邮件内容)
Return-Path: <root@Anonymous.cn>
X-Original-To: x@Anonymous.cn
Delivered-To: x@Anonymous.cn
Received: by mail.Anonymous.cn (Postfix, from userid 0)
id 16DF618061E; Fri, 14 Jul 2017 01:25:58 +0800 (CST)
Date: Fri, 14 Jul 2017 01:25:58 +0800
To: x@Anonymous.cn
Subject: hydra
User-Agent: Heirloom mailx 12.4 7/29/08
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20170713172559.16DF618061E@mail.Anonymous.cn>
From: root@Anonymous.cn (root)
————————————————————————————————————
C/S架构
从邮件服务器本机来发信,收信
svr6上的mail——》svr6上的postfi
svr6上的mail——》svr6上的邮箱目录
从客户机来收信,发信(使用刚搭建的邮件服务器)
pc05上的mail——》svr6上的postfi
pc05上的mail——》svr6上的dovecot(邮箱目录)
构建dovecot收信服务:
安装dovecot软件包,默认支持POP3,IMAP这两种收信协议,
根据需要,可将其设为开机自启
[root@svr6 ~]# yum -y install dovecot
[root@svr6 ~]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no(允许明文通信)
[root@svr6 ~]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir(用户邮件存放目录)
SMTP认证的工作方式:
Simple Authentication and Security Layer
cyrus-sas-plain 软件包(默认安装)
[root@svr6 ~]# rpm -qa | grep cyrus
cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-2.1.23-15.el6_6.2.x86_64
cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64
SMTP认证的实现:
启动saslauthd服务
[root@svr6 ~]# service saslauthd restart
[root@svr6 ~]# chkconfig saslauthd on
调整postfix配置,添加认证控制参数
[root@svr6 ~]# vim /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes(启用SASL认证)
mynetworks = 127.0.0.1(设置信任网络)
smtpd_sasl_security_options = noanonymous(阻止匿名发信)
smtpd_recipient_restrictions = (设置收件人过滤)
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination (拒绝向未授权的目标发信)
配置mail客户端:
命令行
在客户机上为mail命令建立配置文件,
/etc/mail.rc或者~/.mailrc
[root@pc05 ~]# vim ~./mailrc
set smtp=smtp://mail.Anonymous.cn(发信服务器)
set from=x@Anonymous.cn(发件人地址)
set smtp-auth-user=x@Anonymous.cn(指定认证用户)
set smtp-auth-password="Taren1"(指定认证密码)
set folder=imap://Anonymous.cn(收信服务器地址)
set password-x@Anonymous.cn="Taren1"(收信密码)
邮件图形界面thunderbird(雷鸟)
——————————————————————————————————
linux 邮件服务器的更多相关文章
- Linux邮件服务器架构
// 上面的过程只是实现了简单的本地用户的文件发送功能,只需要安装mailutil,不需要安装配置sendmail,看鸟哥的Linux私房菜中写的应该是本地用户发送邮件不需要sendmail.只有当非 ...
- linux邮件服务器postfix配置实例
linux邮件服务器postfix配置实例(超级详细!!!) 2013-03-13 13:30:21 标签:邮件服务器 linux 1. 系统安装:1)centos4.3 选上MAIL组件里的全部.2 ...
- 教你如何架设linux邮件服务器postfix
检查linux是否有安装postfix和dovecot 检查命令如下: Rpm -qa |grep postfix; Rpm –qa |grep dovecot; 如果没有显示任何数据,表明没有安 ...
- linux 邮件服务器—Extmail
环境: Centos 6.5 :172.16.9.13 (DNS 服务器) Centos 6.5: 172.16.9.11 (postfix 邮件服务器) 安装软件: yum -y install p ...
- Linux 邮件服务器 之跟我一步一步来实现一个邮件系统【转】
转自:http://tchuairen.blog.51cto.com/3848118/1686875/ 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...
- 二十六、linux邮件服务器
1.安装: yum install -y sendmail 因为是最小安装,需要包没有安装 yum install -y mailx 2.日志:/var/log/maillog 3.启动:/etc ...
- 转-阿里云CentOS Linux服务器上用postfix搭建邮件服务器
http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html 注:本文的邮件服务器只用于发送邮件,也就是ST ...
- linux搭建邮件服务器
一.概述: 在配置邮件服务器之前,先解释几个概念. 通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail ...
- linux sendmail 邮件服务器架设(fedora 8)
linux sendmail 邮件服务器架设(fedora 8) 2009-01-22 17:27 3316人阅读 评论(2) 收藏 举报 邮件服务器linuxprotocolscaching测试lo ...
随机推荐
- 02_HTML5+CSS3详解第五、六天(实战篇之HTML5制作企业网站)
[废话连篇 - 实战篇,没什么好说的,最后一章兼容性问题懒得看了,over] Details 一.Xmind部分 xmind教程:http://www.jianshu.com/p/7c488d5e4b ...
- thinkphp5踩坑之部署到服务器模板不存在
一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说"模板不存在:/Application/Admin/-.", 解决方法:网上有说是因为使用$this->fe ...
- WEB渗透测试之漏扫神器
AppScan 对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试(DAST) 和交互式应用程序安全测试 (IAST).支持 Web 2.0. JavaScript 和 AJAX 框架的全 ...
- web.config文件中配置数据库连接的两种方式
web.config文件中配置数据库连接的两种方式 标签: 数据库webconfig 2015-04-28 18:18 31590人阅读 评论(1)收藏举报 分类: 数据库(74) 在网站开发 ...
- [DeeplearningAI笔记]ML strategy_1_1正交化/单一数字评估指标
机器学习策略 ML strategy 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.1 什么是ML策略 机器学习策略简介 情景模拟 假设你正在训练一个分类器,你的系统已经达到了90%准确 ...
- Spring源码解析一(框架梳理)
整体架构 打算开始写这个系列,不为上首页,也不为博取多少关注,只有一个目的:梳理知识,扩充思路:废话不多,开始吧.第一步,大家去spring的官方github下面去下载它的源码,具体的自己谷歌,我已经 ...
- React 16.3来了:带着全新的Context API
文章概览 React在版本16.3-alpha里引入了新的Context API,社区一片期待之声.我们先通过简单的例子,看下新的Context API长啥样,然后再简单探讨下新的API的意义. 文中 ...
- 免费分享Navicat12各版本破解(仅供学习使用)
花了几个小时终于找到比较"绿色"的安装包了...(无力吐槽下现在网上好多挂羊头卖狗肉的网站) https://pan.baidu.com/s/1geMIkfT 密码:9a98 里面 ...
- python学习交流 - 内置函数使用方法和应用举例
内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函 ...
- java线程池原理及实现方式
线程池的定义 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务.线程池线程都是后台线程 为什么要使用线程池 1.减少在创建和销毁线程上所花的时间以及系统资源的开 ...