当前位置:首页 > CN2资讯 > 正文内容

邮件服务器-postfix服务器

1天前CN2资讯

Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。

sendmail由于出现的比较早,但是各方面的问题也比较突出,postfix就是为了替代sendmail的缺点而出现的,postfix 邮件服务器的优点很明显:

1. 开源的,要知道开源的即是免费的

2. 速度更快,比sendmail×××倍

3. 兼容性好,与sendmail兼容,两者互相迁移很方便。

4. 更能干,在重负荷之下仍然能正常工作,当超负荷之后,他会自动调整

5. 更灵活,不同于sendmail一体化的设计,postfix使用模块化的设计,各个模块专注于自己的工作。

6. 安全性,具有多层的防御结构。


postfix的模块有哪些呢?

1. smtpd 用于响应用户的请求

2. cleanup 用于检测语法

3. pickup 用于分检邮件

4. smtp 类似于客户端,传输邮件

5. qmgr 队列管理器 用于不同邮件状态的管理。

postfix由这些还有其他的一些模块来进行服务,各个模块自己完成自己的任务,他们由一个master进程统一调度


postfix的四种邮件队列?

1. maildrop 本地邮件存放处

2. incoming 放置正在到达或者队列管理进程尚未发现的邮件

3. active 放置已经打开了正准备投递的邮件,当然它是由长度限制的。

4. deferred 放置不能被投递的邮件

队列管理进程仅仅在内存中保留active队列,并且限制其长度。


postfix 对邮件风暴的处理

当有新的邮件到达的时候,postfix进行初始化,此时postfix同时只接受两个并发连接请求,当邮件投递成功后,可以同时接收的并发连接就会缓慢地增长,一直到可配置的值

当系统资源消耗已经达到不能承受的负载,就会停止并发连接数量的增长,或者postfix在处理邮件过程中遇到问题,数量也会减少。

当接收到的新邮件的数量,超过它的投递能力时,postfix会停止投递deferred队列中的邮件,去处理新接收到的邮件,因为处理新邮件的延迟小于处理defferred队列中的邮件。


postfix 对无法投递的邮件的处理

当第一次发送失败,postfix会给该邮件,贴上一个将来的时间有票,在达到这个时间之前,不会再处理该类邮件,到到达这个时间时,进行投递,再次失败,将再次贴上一个双倍与第一次的邮件将来时间的邮票,以此类推,进行多次尝试之后,放弃该邮件,回复用户错误信息


postfix对于目标不可达的目的邮件的处理

postfix内存之中保存了一个有长度限制的不可达的地址列表,避免想这些地方进行邮件投递


postfix的安全性

1. 动态分配内存,放置系统缓冲区溢出

2. 把大邮件分割成几块处理,投递时在进行重组

3. postfix的各个进程互相不进行控制,只接受master主进程的控制

4. postfix 的队列文件有其特殊格式,只能被postfix本身识别


postfix邮件服务对于邮件的处理过程:

接收的过程: 当接受新邮件时,新的邮件首选在incoming队列停留,并进行处理

1. 对于来自与本地的邮件:local进程负责接收,并放置邮件于maildrop队列中,然后pickup进程对其进行完整性检测,maildrop目录的权限必须进行设置 避免用户删除其他用户的邮件

2. 对于网络的邮件:smtpd 进程负责接收邮件,并且进行安全性检测

3. postfix进程会自己产生邮件,用于将邮件的不可投递信息返回给发件人,这些工作由bounce后台程序产生

4. postfix 产生邮件,提示postfix管理员 postfix运行过程中出现问题

5. cleanup进程,对邮件进行处理,添加信头中丢失的Form信息。也就是将地址重写为标准的user@’域名‘ 的格式,从信头中抽取收件人的地址,投入到incoming队列中,请求处理该信件,请求地址重写进程将收件人地址转换为标准的user@‘域名’的格式


邮件的投递过程

上面的部分结束之后,邮件已经到达incoming的队列了,接下来进行邮件的投递。

1. 邮件到达邮件队列管理进程,他将办含有队列文件路径信息,发件人地址,收件人地址的投递请求发送给投递代理。

2. 与此同时,邮件队列管理进程维护者deferred,active队列,不同状态的邮件放置于的队列

3. 针对于发送成功与失败,队列管理进程与rewrite,与bounce后台程序练习,成功的给rewrite进行地址解析,失败的给bounce返回信息给用户

4. 检查成功的邮件送给投递代理进程,local和smtpd





实验:linux中实现postfix邮件服务器

实验环境:linux 虚拟机5.4

1.安装postfix。

[root@mailServer]# rpm -ivh postfix-2.3.3-2.1.el5_2.i386.rpm

[root@mailServer]# rpm -ivh system-switch-mail-0.5.25-12.noarch.rpm

//用于转换邮件服务器的工具,系统默认sendmail作为邮件服务器,转换为postfix

2.选择postfixmail

3. 配置文件

模块管理文件 /etc/postfix/

主配置文档 /etc/postfix/


Postconf -d 查看默认的参数值

Postconf -n 查看新的参数值

Postconf -e 编辑

编辑文件

69myhostname = mail. //本地域名

77mydomain = //自己的域名

93myorigin = $mydomain

//实现地址伪装,将邮件的真实来源改正为myorigin所指的域名中。

110inet_interfaces = localhost //只接受自己的用户

107inet_interfaces = all //监听所有

156mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

//哪些是本地信件,允许本地作用域发送邮件。

观察日志信息,如果咩有打开 156行的注释

邮件状态进入到了 deferred,发送失败

配置本地用户可以发送邮件。则发送成功!


Postfix mail的中继!!

255mynetworks = 168.100.189.0/28, 127.0.0.0/8

在所标记网段中 的 计算机发来的邮件允许中继。



Postfix mail的中安全认证!

broken_sasl_auth_clients= yes

smtpd_sasl_auth_enable= yes

smtpd_sasl_security_options= noanonymous //不允许匿名账号发送

#smtpd_sasl_application_name= smtpd //smtpd

#smtpd_client_restrictions= permit_sasl_authenticated,reject//经过验证可以连接,没经过

验证拒绝

#smtpd_client_restrictions= permit_sasl_authenticated //限制用户连接验证不验证都连

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination


将他们写入postfix的主配置文件中



[root@mail~]# service saslauthd restart

[root@mail~]# vim /usr/lib/sasl2/smtpd.conf


当然此时如果使用不存在的账号,来测试是否能通讯的话,还是能够发送邮件,那是因为身份验证不是强制性的。

673smtpd_client_restrictions = permit_sasl_authenticated,reject //更改配置文件

还是需要 auth login 进行验证账号密码 均为base64 编码



拓展:

SquirrelMail是一套基于标准的,采用PHP4开发Webmail邮件系统。它内置纯PHP支持的IMAP和SMTP协议,所有页面都遵循HTML4.0标准(没有使用JavaScript支持),以便最大限度兼容更多浏览器上。它对系统要求非常低,并且安装和配置非常容易。SquirrelMail具备一个客户端邮件程序所应拥有的一切功能,包括支持增强型的MIME、地址薄、文件夹操作等等功能。Outlook皮肤主题。

[root@mail~]# yum install squirrelmail

[root@mail~]# cd /var/www/html/

[root@mailhtml]# ln -s /usr/share/squirrelmail mail

[root@mailsqurrmail]# cd /var/www/html/squrrmail

[root@mailsqurrmail]# ./

与性能有关的配置

服务器设置

全局配置

语言选项

登陆测试

当登陆之后,提示错误,错误信息是没有imap服务器,也就是没有邮件接收服务器,而linux中的邮件接收服务器是dovecot,所以安装dovecot,并启动dovecot 服务之后

673#smtpd_client_restrictions = permit_sasl_authenticated,reject

编辑配置文件,注释行


邮件可以发送出去了


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/20354.html

    分享给朋友:

    “邮件服务器-postfix服务器” 的相关文章

    **解析cn2线路的美国vps:为什么它是你的最佳选择?**

    ---##cn2线路的美国vps,为什么它如此受欢迎?在数字化时代,VPS(虚拟私人服务器)已经成为企业和个人用户不可或缺的工具。无论是用于网站托管、游戏服务器搭建,还是作为企业数据中转站,VPS的功能和性能直接影响用户体验。在众多VPS服务中,"cn2线路的美国vps"凭借其独特的优势,迅速成为市...

    搬瓦工退款政策全解析:30天无理由退款,轻松解决用户疑虑

    搬瓦工退款政策的基本介绍 搬瓦工(BandwagonHost)作为国内知名的VPS服务提供商,以其性价比高、服务稳定而受到许多用户的青睐。在使用过程中,用户可能会因为各种原因需要申请退款。搬瓦工提供了30天无理由退款保证,确保用户在购买后的一段时间内享有退款的权利。这一政策不仅体现了搬瓦工对用户权益...

    原生IP的重要性及其在外贸中的应用价值

    原生IP的定义与特点 谈到原生IP,这个概念在网络世界中显得极为重要。简单来说,原生IP是指那些与虚拟专用服务器(VPS)所在国家一致的IP地址。这意味着,它们的注册信息和其实际位置是相符的,根本没有经过修改或伪造。这一点在外贸业务中尤为重要,很多情况下,企业需要保证他们的服务器IP地址真的是注册所...

    NameSilo Coupons - 如何以低成本注册域名并享受优质服务

    NameSilo自2010年成立以来,展现出稳定且迅猛的发展态势,成为了一家备受关注的域名注册商。总部位于美国亚利桑那州,NameSilo已经成功管理超过400万个活跃域名,且在行业内占据着显著的地位。在这条领域内,NameSilo被视为全球仅有的12家顶级域名注册商之一,这无疑为其信誉奠定了坚实基...

    如何在AWS搭建VPS:详细指南与实用技巧

    在当今这个数字化快速发展的时代,云计算扮演着越来越重要的角色。无论是企业处理大量数据,还是个人用户存储信息,云服务都提供了一种灵活、高效的解决方案。特别是随着远程工作和在线服务的普及,能够随时随地访问和管理自己的数据成为一种必需。在这个过程中,亚马逊云(AWS)凭借其强大的服务和稳定的性能,成为了众...

    AMD Ryzen VPS 性能测评:RackNerd 的优越体验与机房对比

    当我开始使用RackNerd的VPS服务时,我被它的低价和强大性能所吸引。作为一个刚入驻云计算的用户,我知道许多商家提供VPS,但RackNerd以十美元每年的超低价格引起了我的注意。而真正让我印象深刻的是它的稳定性与出色的售后服务。我曾多次遇到技术问题,售后支持总能在第一时间给我回应,这让我感受到...