xml地图|网站地图|网站标签 [设为首页] [加入收藏]

软件专题

当前位置:美高梅游戏网站 > 软件专题 > MySQL数据库+Postfix投递经过验证的邮件正确设置

MySQL数据库+Postfix投递经过验证的邮件正确设置

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-06 00:20

在我们讨论本地邮件的投递过程之前,先让我们理清“本地”、“外地”、“虚拟”这三种邮件的定义以及相关的MDA.

以下的文章主要讲述的是Postfix+Cyrus-SASL+MySQL数据库投递经过验证的邮件正确设置的实际操作步骤,就算它是要投到本地域的邮件或来自本地局域网的邮件都要通过验证,否则就不让过。main.cf 这一段要如何修改呢?

Postfix的投递代理程序

mynetworks_style = host 

postfix依据来信地址来决定是否要收下邮件以及如何选择适当的MDA来执行后续的投递任务。postfix会收下三种网域的邮件,分别是本地(local)、转发(relay)以及虚拟(virtual),它们的定义与相关的MDA,如下:

mynetworks = 168.100.189.0/28, 127.0.0.0/8

本地邮件

定义你的服务器IP

若邮件终点站是mydestination参数所列出的网域之一,postfix就视其为本地邮件,由local MDA(或是你指定的其他程序)执行投递任务。本地邮件的收件者必须拥有本地系统(postfix server本身所在的主机)的用户账户,或是其名称被定义在别名文件(传统上是/etc/aliases)。本地邮件会被投递到系统的邮件存储目录(通 常是/var/spool/mail/),或个人主目录下的邮件文件(~/mail/)。

#====================SASL=====================  smtpd_sasl_auth_enable = yes smtpd_sasl_security_clients = noanonymous broken_sasl_auth_clients = yes smtpd_delay_reject = yes smtpd_recipient_restrictions = permit_sasl_authenticated reject_rbl_client opm.blitzed.org  reject_rbl_client list.dsbl.org  reject_rbl_client bl.spamcop.net  reject_rbl_client sbl-xbl.spamhaus.org  reject_rbl_client cbl.anti-spam.org.cn  reject_rbl_client cdl.anti-spam.org.cn  reject_rbl_client cblplus.anti-spam.org.cn  reject_invalid_hostname  reject_unknown_sender_domain  reject_non_fqdn_sender  reject_non_fqdn_recipient  reject_unknown_recipient_domain  reject_unauth_pipelining  reject_unauth_destination  permit_mynetworks  check_recipient_maps  smtpd_client_restrictions = permit_sasl_authenticated smtpd_helo_restrictions = reject_invalid_hostname smtpd_sender_restrictions = permit_sasl_authenticated reject_non_fqdn_sender  reject_unknown_sender_domain  reject_sender_login_mismatch  smtpd_sasl_authenticated_header = yes smtpd_helo_required = yes  

转发邮件

以上的相关内容就是对Postfix+Cyrus-SASL+MySQL数据库投递经过验证的邮件设置的介绍,望你能有所收获。

若邮件终点站是relay_domains参数所列出的网域之一,postfix就视其为转发邮件,由relay MDA来执行投递任务。一般而言,只有在postfix被当成局域网络的邮件网关使用,而同网络上还有其他网域的邮件服务器时,才会让postfix收下 转发邮件。也就是说,所谓的“转发”,通常是指同局域网络上的其他主机,而relay其实是smtp MDA的翻版,只不过被刻意设计成特别适合传信给局域网络上主机而已。

...

虚拟网域邮件

一台邮件服务器通常只服务一个范围网域 (canonical domain);如果要同时服务多个网域,则额外的网域称为虚拟网域(virtual domain)。虚拟网域的邮件由virtual MDA负责投递。依据用户是否有服务器的系统账号,虚拟网域的邮件还可分成“虚拟邮箱”与“虚拟别名”两种。虚拟邮箱的收件人没有系统账户,而且每一个虚 拟邮箱网域都有自己的邮箱目录(mail spool),所有虚拟邮箱网域都必须列于virtual_mailbox_domains参数。另一方面,虚拟别名网域的收件人可以拥有本地或非本地系 统账户,postfix会改写这类邮件的收件地址,然后交给smtp MDA递送出去(如果新地址是非本地网域),或重新回到收件队列(如果新地址是本地网域)。

邮箱格式

当postfix投 递本地邮件时,邮件内容会被传送到postfix系统上的适当邮箱。最常见的两种邮箱格式,分别是传统的mbox以及较新的 maildir。两者都是使用一般的文件来储存邮件内容,差别在于文件内部的组织安排有所不同。在postfix中,当你设定任何邮件文件或目录参数时, 如果在路径末端加注一个/符号,表示你想使用maildir格式的邮箱。

mbox格式

传统上,unix系统将同一位用户 的所有邮件都塞在同一个文件里,像这样的邮箱格式通常称为mbox。邮箱文件里的每一封邮件,其第一行的前五个字符必定是“from ”。习惯上,为了方便表示,我们通常将它写成“from_“,以下划线字符强调空格的存在请勿将mbox文件内用来分隔邮件的”from “字样与邮件标头里的”from:“字段混为一谈。邮件在mbox文件里的最后一行必定为空格。因此,一行空格接着一个from_字样,就可视为下一封信 的开始。

postfix将邮件写入mbox文件之前,会先使用信封上的寄件人地址与当时的日期创建好from_文本行,并将该行字符串写到 mbox文件的末端,然后才开始填入邮件内容。如果postfix发现邮件内容本身有任何以“from”开头的文本行,它会在该文本行的开头加一个 >符号,避免该文本行被误以为下一封信的开头。

当pop/imap server读取mbox文件内的邮件时,第一步是扫描文件内容,找出代表邮件开头的from文本行。在读取邮件内容时,如果遇到下一个from_文本行 (或文件结尾),就可断定当前的邮件已经读完了。有些pop/imap server会主动恢复">from"的原状,但有些不会。

本文由美高梅游戏网站发布于软件专题,转载请注明出处:MySQL数据库+Postfix投递经过验证的邮件正确设置

关键词:

上一篇:Thunderbird几个常用小技巧

下一篇:没有了