一、邮件服务器的基本工作原理
用户(MUA)通过SMTP协议将邮件发送到服务器(MTA),服务器分解发现如果是本地邮件传输,就通过lmtp传输,如果是远程邮件,就调用本地客户端使用SMTP协议传输到对方服务器。
对方服务器收到邮件后,发现不是本机负责的域,就交给本机的邮件客户端,根据邮件目标域请求DNS解析,将邮件发送到目标服务器,或者扔到下一跳。这个过程被称为邮件中继。如果发现是本机负责区域的用户,SMTPD会将邮件转发给MDA,MDA会将邮件投递到该用户的邮箱。
当用户通过MUA查看邮件时,邮件将从邮箱中被拉至用户的主目录,并保存为mbox文件。
邮件中继:
为了支持邮件路由功能,TPD需要开放开放中继——开放中继。
SMTPD根据收件人判断邮件是否需要中继,只中继到指定的客户端。
二。邮件服务器和DNS之间的关系
①当发件方需要发送邮件给对方邮件服务器,需要向DNS请求查询对方邮件服务器的MX记录。 ②DNS通过查询MX表信息。 ③将查询到的MX信息返回给发送方。 ④发送方根据优先级,将邮件投递给对方优先级高的邮件服务器(mail1)。 ⑤如果主邮件服务器过于繁忙,或者不在线的时候,会将邮件投递给辅的邮件交换器(mail2)上。 ⑥待主邮件服交换器空闲下来后,mail2会将代替接收下来的邮件再转给主邮件交换器(mail1)。
注意:当DNS中有多台主机有MX记录时,根据DNS的邮件级别来判断。DNS上定义的值越小,其优先级越高。辅助交换机收到的消息无法保存。取而代之的是,这个辅助交换机会等到主邮件交换机空空闲后,再把接收到的邮件代替它转到主邮件交换机。所以任何邮件处理都是由主邮件交换器处理的。所以在我们的实际情况中,如果有两个服务器作为邮件交换器,那么性能较高的应该是主服务器。
三。邮件服务器的每个程序组件
MTA(邮件传输代理)是接收邮件的服务器,负责邮件的传输;
发送邮件
测试
后缀
美国进出口银行
Exchange(windows)
MUA(邮件用户代理)邮件客户端,为用户提供撰写和查看邮件并发送出去的功能;
OutlookExpress,Outlook
Foxmail
雷鸟
演变
笨蛋
MDA(邮件投递代理)将收到的邮件投递到相应用户的邮箱
procmail
邮件过滤
MRA(邮件检索代理)通过POP3协议帮助用户从邮箱中检索相应的邮件
pop3,imap4
赛勒斯-imap
鸽房
WebMail可以以网页的形式收发邮件,它需要Web服务器的支持;
信箱
的问题
配置
四。后缀介绍
Postfix是一种电子邮件服务器,是由在IBM的T.J.Watson研究中心工作的荷兰研究员WietseVenema为了改进sendmail服务器而开发的。
Postfix由十几个功能不同的半驻留进程组成,这些进程之间没有特定的父子关系。特定的流程可以为其他流程提供特定的服务。
的大部分后缀进程都是由一个进程管理的,这个进程负责在需要的时候调用其他进程,这个管理进程就是主进程。这个过程也是一个后台程序。
这些后缀过程可以配置。我们可以配置每个进程运行的次数,可以重用的次数,生存时间等等。通过灵活的配置功能,可以大大降低整个系统的运行成本。
功能:
1.后缀免费;
2.性能不错,大概是Sendmail的×××倍。一台运行postfix的台式pc每天可以收发数百万封电子邮件;
3、兼容sendmail
4.强大而稳定,postfix被设计为在重负载下仍能正常工作。当系统运行超出可用内存或磁盘空时,postfix会自动减少正在运行的进程数量。当处理的消息数量增加时,postfix运行的进程不会相应增加;
5.良好的灵活性。postfix由十几个小程序组成,每个程序执行一个特定的功能。你可以通过配置文件设置每个程序的运行参数。
6.安全。postfix具有多层防御结构,可以有效抵御恶意***人,可以在较低权限下运行;
五、编译安装PostFix
1.关闭服务器的现有邮件服务器并卸载它。
2.安装MySQL数据库并为root用户设置密码。
3.编译并安装postfix
安装依赖包
yum安装cyrus-sasl-devel-y
yum安装cyrus-sasl-plain-y
创建用户和组,postfix用于启动postfix服务器,以及postdrop(用于邮件投递服务);
groupadd-g2525后缀
useradd-g后缀-u2525-s/sbin/nologin-M后缀
groupadd-g2526postdrop
useradd-gpostdrop-u2526-s/sbin/nologin-Mpostdrop
解压缩源代码包
tarxfpostfix-2.11.6.tar.gz
cd后缀-2.11.6
编译参数
makemakefiles'CCARGS=-DHAS_MYSQL-I/alidata/server/MYSQL/include-DUSE_SASL_AUTH-DUSE_赛勒斯_SASL-I/usr/include/sasl-DUSE_TLS''auxlibs=-L/alidata/server/MYSQL/lib-lmysqlclient-LZ-lm-L/usr/lib64/SASL2-LSAsl2-lssl-lcrypto'
制造
进行安装
参数描述:
CCARGS指定C编译参数和链接头文件的路径。
-DHAS_MYSQL启用MYSQL连接功能,并指定头文件的路径
-dust_SASL_auth启用SASL身份验证。
-dust_Cyrus_SASL-我指定了SASL头文件的路径。
-due_TLS启用加密协议。
AUXLIBS辅助库文件路径
-lz表示压缩的库文件。
-lm模块文件
-lsasl2-lssl-lcrypto表示使用这些库文件。
启动postfix服务器
后缀开始
将侦听tcp的端口25,进程名为master。
后缀配置文件:
master:/etc/postfix/master.cf
mail:/etc/postfix/main.cf
参数必须写在行首,以空white开头的行被认为是前一行的延续。
通信后配置工具:
-d:显示默认配置。
-n:显示修改后的配置。
-m:显示支持的查找表类型。
-A:显示支持的SASL客户端插件的类型。
-e:parameter=value更改参数配置信息,保存在main.cf文件中;
Smtp状态代码:
1xx:纯信息
2xx:正确
3xx:前面的 *** 作没有完成,需要补充。
4xx:暂时错误
5xx:永久性错误
当postfix无法读取邮件别名时,使用命令/usr/bin/newalias对别名文件进行哈希处理;
可以生成aliases.db文件;
演示telnet连接到postfixsmtp命令电子邮件:
检查日志/var/log/maillog
切换到本地土豪用户查看邮件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)