Linux系统中安装配置Mutt来作为Gmail客户端
mutt是一个Linux终端下的著名的邮件客户端,如你所愿,mutt就是一个邮件客户端。没有其他浮华的功能,它可以帮助你提升效率,至于帮助你装X只能算是mutt的特殊加成。
由于mutt是一个有着unix哲学的程序,可定制性很强,其高级功能可以由不同的程序来完成,比如以下搭配:
1mutt
使用mutt内建的imap,pop,smtp支持,最简单的方式,只需要安装mutt这一个软件包。
2mutt + msmtp
最简单的组合,配合imap协议,可以满足大多数人的要求
其中smtp功能由msmtp实现,你甚至可以把imap功能也由其他软件来实现
3mutt + msmtp + getmail + procmail
稍微复杂一点的组合,mutt是客户端,msmtp作为mta,getmail用来收取邮件,procmail过滤邮件。
mta还可以使用exim4或者postfix替代,一般使用msmtp就够了,因为postfix实在是太好了,邮件服务器通常会选择postfix。
msmtp可以使用esmtp替代。
邮件收取功能也可以使用fetchmail替代getmail,由于需要本地mta投递,所以同时需要procmail。
procmail是一个功能及其强大的邮件过滤系统。ps:看到这句话,你就应该明白,我显然没有使用它。。。
Mutt 跟其它 email 程序有什么重大区别吗?
Mutt 是一个发源于 Unix 的邮件程序,它跟一般的 Windows 邮件程序不同,它不是一个包罗万象的大杂烩。你甚至会发现它根本不直接发出邮件,它从来不自己编辑邮件,它从来不自己对邮件进行加密和数字签名
Mutt 更像一个文件管理器,只不过它管理的是email。它的功能是借助各个最强大的程序来实现的。这符合 UNIX 的设计思想。
当 Mutt 需要编辑邮件时,它有可能调用 vi, VIM, emacs, pico, 等编辑器。
当 Mutt 需要发信时,它把需要发出的信件放到 sendmail 的队列里,就什么都不管了。
当需要数字签名时,Mutt 会把信件交给 GnuPG 之类的程序处理一下,然后再发出去。
怎么收邮件呢?Mutt 不会自己到 POP 服务器去取邮件,你需要一个 fetchmail 程序,帮你把 email 从 POP 服务器取回来,转发到自己的 sendmail 的邮箱里。这样看起来就是你的主机成为了一个完整的 UNIX 网络工作站。
是不是觉得挺麻烦?其实有些 patch 可以使 Mutt 不依赖于这些程序,而自己处理收发工作。但是,强烈建议你使用这些外部程序!到时候你就知道这些东西的好处了。首先,VIM, sendmail, fetchmail 这些程序都是经过千锤百炼的质量信得过的程序,用它们编辑,发送,收取邮件你绝对放心。其次,你得到了一个 UNIX 网络工作站的功能:
sendmail 不但可以帮 Mutt 发出邮件,也可以帮其它 Unix 程序比如 tin 发送邮件。如果你需要一个邮件服务器帮你中转,那么你只需要设置一次就可以使所有的用户的所有这样的程序都自动可以发送邮件,不用每个程序都去设置帐号了。
fetchmail 收到邮件之后会转发给本地的 sendmail sendmail 如果允许 forward, 你就可以在自己的目录里编辑一个forward文件,信件可以自动被转发到其它地方或者经过一个过滤器过滤。你可以自己用perl等语言来写一个过滤器,它可以根据信件内容实现很多功能,比如自动回复等等。比如我就写了一个简单的过滤器,它可以记录所有发件人的地址,如果我把 helloooo 机器人连接到过滤器,恐怕你们就会收到可爱的 helloooo 的回信了 :)
Mutt作为Gmail客户端
由于Gmail服务器端垃圾邮件过滤已经做得很好了,而且我使用的是imap协议,所以不需要getmail去收取邮件,目前也没有必要自己再去配置procmail的过滤系统。
本文将对mutt + msmtp的配置进行说明。
1安装mutt和msmtp
一般发行版
mutt和msmtp已经包含在大多数发行版的软件源里,直接使用包管理器安装,其他发行版以此类推:
代码如下:
$ sudo apt-get insatll mutt msmtp #适用于debian系$ sudo yum insatll mutt msmtp #适用于red hat系
Gentoo Linux下安装
代码如下:
$ echo "mail-client/mutt -berkdb gpg imap mbox nntp sasl sidebar slang smime smtp" /etc/portage/packageuse # 设置mutt的use flag$ echo "mail-mta/msmtp sasl" /etc/portage/packageuse # 设置msmtp的use flag
$ emerge -av mutt msmtp # 安装mutt和msmtp
2配置mutt
创建并编辑~/muttrc
把username替换为你的Gmail用户名,passwd替换为密码
代码如下:
# 设置发信地址和用户名set from = "username@gmailcom"
set realname = "username"
set use_from = yes
代码如下:
# 设置Gmail帐户和密码set imap_user = "username@gmailcom"
set imap_pass = "your password"
代码如下:
# 设置远程服务器文件夹set folder = "imaps://imapgmailcom:993"
set spoolfile = "+INBOX"
mailboxes = +INBOX
set postponed = "+[Gmail]/Drafts"
代码如下:
# 允许mutt自动创建一个新的imap连接unset imap_passive
代码如下:
# imap连接保持时间set imap_keepalive = 300
代码如下:
# 检查新邮件间隔时间set mail_check = 120
代码如下:
# 本地缓存目录set header_cache = ~/mutt/cache/headers
set message_cachedir = ~/mutt/cache/bodies
代码如下:
# 设置TLS验证set certificate_file = /etc/ssl/certs/ca-certificatescrt
代码如下:
# 设置内建smtp,这里我们不使用#set smtp_url = "smtps://username@gmailcom@smtpgmailcom:465/"
#set smtp_pass = "your password"
#set ssl_starttls = yes
代码如下:
# 使用msmtpset sendmail = "/usr/bin/msmtp"
代码如下:
# 不保存发送的邮件unset record
代码如下:
# 回信不包含邮件头set header = no
代码如下:
# 退出提醒set quit = ask-yes
代码如下:
# 回信包含原文set include
代码如下:
# 设置回信引文之前的插入符号set indent_str = " "
代码如下:
# 设置邮件头my_hdr From: username@gmailcom
代码如下:
# 邮件打分score "~N" +4
score "~s 通知" +2
score "~D" -5
score "~O" +1
score "~s believe" -10
代码如下:
# 排序方式set sort = score
代码如下:
# 二级排序set sort_aux = date
代码如下:
# 翻到最后一页不回到第一页set pager_stop
代码如下:
# 快速回信set fast_reply
代码如下:
# 删除邮件自动移动光标set resolve = yes
代码如下:
# 设置编码,保持和终端一致set charset = "utf-8"
代码如下:
# 发信使用的字符集set send_charset = "us-ascii:iso-8859-1:gb18030:utf-8"
代码如下:
# 是否编辑邮件头set edit_headers = no
代码如下:
# pager显示行数set pager_index_lines = 4
代码如下:
# 告知mutt哪些是邮件列表subscribe ustc_lug@googlegroupscom
subscribe shlug@googlegroupscom
subscribe gentoo-user@listsgentooorg
代码如下:
# 使用solarized配色方案source ~/mutt/mutt-colors-solarized/mutt-colors-solarized-dark-256muttrc
编辑好后保存退出。
修改~/muttrc的权限
代码如下:
$ chmod 700 ~/muttrc创建本地文件夹
代码如下:
$ mkdir -p ~/mutt/cache3配置msmtp
创建或修改~/msmtprc
代码如下:
# Accounts will inherit settings from this sectiondefaults
auth on
tls on
tls_trust_file /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CAcrt
logfile ~/mutt/msmtplog
代码如下:
# Gmail accountaccount gmail
host smtpgmailcom
port 465
from username@gmailcom
user username@gmailcom
password password
tls_starttls off
tls_trust_file /etc/ssl/certs/ca-certificatescrt
代码如下:
# set default accountaccount default : gmail
保存退出,并设置权限
代码如下:
$ chmod 600 ~/msmtprc4配置mutt使用solarized配色方案
代码如下:
$ git clone https://githubcom/altercation/mutt-colors-solarizedgit ~/mutt/mutt-colors-solarized然后在~/muttrc中修改相应配置。
大功告成,终端启动:
代码如下:
$ mutt如无例外你将看到:
注意事项
Gmail启用了两步验证需要为mutt设置应用专用密码
电子邮件网关和协议转换器的作用是一样的。网关实质上是一个网络通向其他网络的IP地址。
网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
网关既
可以用于广域网互连,也可以用于局域网互连。
网关是一种充当转换重任的计算机系统或设备。
使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。
与网桥只是
简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同层--应用层。
用 Win2003 架设邮件服务器
很多企业局域网内都架设了邮件服务器,用于进行公文发送和工作交流。但使用专业的企业邮件系统软件需要大量的资金投入,这对于很多企业来说是无法承受的。其实我们可以通过Windows Server 2003提供的POP3服务和SMTP服务架设小型邮件服务器来满足我们的需要。
一、安装POP3和SMTP服务组件
Windows Server 2003默认情况下是没有安装POP3和SMTP服务组件的,因此我们要手工添加。
1安装POP3服务组件
以系统管理员身份登录Windows Server 2003 系统。依次进入“控制面板→添加或删除程序→添加/删除Windows组件”,在弹出的“Windows组件向导”对话框中选中“电子邮件服务”选项,点击“详细信息”按钮,可以看到该选项包括两部分内容:POP3服务和POP3服务Web管理。为方便用户远程Web方式管理邮件服务器,建议选中 “POP3服务Web管理”。
2安装SMTP服务组件
选中“应用程序服务器”选项,点击“详细信息”按钮,接着在“Internet信息服务(IIS)”选项中查看详细信息,选中“SMTP Service”选项,最后点击“确定”按钮。此外,如果用户需要对邮件服务器进行远程Web管理,一定要选中“万维网服务”中的“远程管理(HTML)”组件。完成以上设置后,点击“下一步”按钮,系统就开始安装配置POP3和SMTP服务了。
二、配置POP3服务器
1创建邮件域
点击“开始→管理工具→POP3服务”,弹出POP3服务控制台窗口。选中左栏中的POP3服务后,点击右栏中的“新域”,弹出“添加域”对话框,接着在“域名”栏中输入邮件服务器的域名,也就是邮件地址“@”后面的部分,如“rtjnet”,最后点击“确定”按钮。其中“rtjnet”为在Internet上注册的域名,并且该域名在DNS服务器中设置了MX邮件交换记录,解析到Windows Server 2003邮件服务器IP地址上。
2创建用户邮箱
选中刚才新建的“rtjnet”域,在右栏中点击“添加邮箱”,弹出添加邮箱对话框,在“邮箱名”栏中输入邮件用户名,然后设置用户密码,最后点击“确定”按钮,完成邮箱的创建。
三、配置SMTP服务器
完成POP3服务器的配置后,就可开始配置SMTP服务器了。点击“开始→程序→管理工具→Internet信息服务(IIS)管理器”,在 “IIS管理器”窗口中右键点击“默认SMTP虚拟服务器”选项,在弹出的菜单中选中“属性”,进入“默认SMTP虚拟服务器”窗口,切换到“常规”标签页,在“IP地址”下拉列表框中选中邮件服务器的IP地址即可。点击“确定”按钮,这样一个简单的邮件服务器就架设完成了。
完成以上设置后,用户就可以使用邮件客户端软件连接邮件服务器进行邮件收发工作了。在设置邮件客户端软件的SMTP和POP3服务器地址时,输入邮件服务器的域名“rtjnet”即可。
四、远程Web管理
Windows Server 2003还支持对邮件服务器的远程Web管理。在远端客户机中,运行IE浏览器,在地址栏中输入“https://服务器IP地址:8098”,将会弹出连接对话框,输入管理员用户名和密码,点击“确定”按钮,即可登录Web管理界面。
Internet 上的其他服务器希望从端口 25 连接到 SMTP 虚拟服务器。
默认情况下,所有 SMTP 虚拟服务器都使用此端口。
有关详细说明,请参阅
确认在 SMTP 虚拟服务器上配置了默认中继限制
默认情况下,SMTP 虚拟服务器只允许已通过身份验证的用户中继电子邮件。
此设置会阻止未通过身份验证的用户使用 Exchange 服务器向外部域发送电子邮件。
有关详细说明,请参阅下面的步骤。
postfix邮件服务器搭建不会有人数限制的。
UA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。
一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。
一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。
所以一封邮件的流程是:
发件人:MUA --发送--> MTA -> 若干个MTA -> MTA -> MDA <--收取-- MUA:收件人
MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。
需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。
估计你内网没有做端口映射。还有dns也没设对。
KXmail邮件系统软件:专业反垃圾,反病毒,稳定,安全,收发速度快,支持webmail,短信等。详询 63983318
postfix的安装过程
31原始码包的安装
1. 获取postfix的原始码包
从postfix官方站点wwwpostfixorg取得postfix的原始码包postfix-19991231-pl08targz。将其拷贝到/tmp
2.解开原始码包,将生成/tmp/ postfix-19991231-pl08目录。
tar xvzf postfix-19991231-pl08targz
3.编译原始码包
cd /tmp/ postfix-19991231-pl08
make
4.建立一个新用户“postfix”,该用户必须具有唯一的用户id和组id号,同时应该让该用户不能登录到系统,也即不为该用户指定可执行的登录外壳程式和可用的用户宿主目录。我们能先用adduser postfix 添加用户再编辑/etc/passwd文件中的相关条目如下所示:
postfix::12345:12345:postfix:/no/where:/no/shell
5.确定/etc/aliases文件中包含如下的条目:
postfix: root
6. 以root用户登录,在/tmp/ postfix-19991231-pl08目录下执行命令:
/installsh
7. 启动postfix
# postfix start
8.关于maildrop目录权限的说明:
postfix能使用一个所有用户都可写的(也即目录权限为1773)的maildrop
目录来让本地用户提交邮件。这种方法避免了使用set-uid 或 set-gid 软件,并且在邮件系统不可用时,用户仍然能提交邮件。其他用户没有访问该目录中的队列文件的权限。接收来自网络的邮件时postfix不使用maildrop目录。不过,由于该目录的权限是733,其他用户能建立一个硬连接到该目录中的文件从而导致该邮件被投递多次或无法删除,也就是说这将导致安全性问题。如果你想要使用这种方式来让用户提交邮件,就要在installsh 脚本问你是否需要set-gid 时回答no。
如果你的系统有多个用户的话,最佳取消以上的方式而采用利用set-gid 用
户权限提交邮件的方式。这时,我们首先需要建立一个组id唯一的组"maildrop" 并且确定该组中没有用户成员。然后在installsh 问你是否需要set-gid 时指定"maildrop"。
提示:在安装postfix之前,请删除已安装的sendmail。
32 rpm包的安装
1. 获取postfix的rpm软件包。
我们能从http://wwwalltradinges/postfix/rpms/i386/ 获得postfix的rpm软件包。当前的最新版本是postfix-20000531-2i386rpm。
2. 备份你的/etc/aliases和/etc/aliasesdb,因为postfix要使用该别名数据库。
3. 用以下命令查看系统是否安装了sendmail:
[root@mail /root]# rpm -qa |grep sendmail
sendmail-doc-893-15
sendmail-893-15
sendmail-cf-893-15
4. 用以下命令强行卸载sendmail:
[root@mail /root]# rpm -e sendmail sendmail-cf sendmail-doc --nodeps
5. 用以下命令杀死运行中的sendmail进程:
[root@mail /root]# killall sendmail
6. 安装postfix:
7. 启动postfix
[root@mail /root]# /etc/rcd/initd/postfix start
33 设置系统每次启动时自动启动postfix
1如果你安装的是postfix的原始码包,能在/etc/rcd/rclocal文件中加入如下的语句让系统每次启动时自动启动postfix:
if [ -f /usr/libexec/postfix ]; then
/usr/libexec/postfix start
fi
2如果你安装的是postfix的rpm包,能通过setup命令来设置在系统启动时启动postfix。
四、 postfix的设置详解
41 postfix的设置文件结构
postfix的设置文件位于/etc/postfix下,安装完postfix以后,我们能通过ls命令查看postfix的设置文件:
[root@mail postfix]# ls
installcf maincf mastercf postfix-script
这四个文件就是postfix最基本的设置文件,他们的差别在于:
mailcf:是postfix主要的设置文件。
installcf:包含安装过程中安装程式产生的postfix初始化设置。
mastercf:是postfix的master进程的设置文件,该文件中的每一行都是用来设置postfix的组件进程的运行方式。
postfix-script:包装了一些postfix命令,以便我们在linux环境中安全地执行这些postfix命令。
42 postfix的基本设置
postfix大约有100个设置参数,这些参数都能通过maincf 指定。设置的格式是这样的,用等号连接参数和参数的值。如:
myhostname = mailmydomaincom
等号的左边是参数的名称,等号的右边是参数的值; 当然,我们也能在参数的前面加上$来引用该参数,如:
myorigin = $myhostname
虽然postfix有100个左右的参数,不过postfix为大多数的参数都设置了缺省值,所以在让postfix正常为你服务之前,你只需要设置为数不多的几个参数。下面我们一起来看一看这些基本的postfix参数。需要注意的是,一旦你更改了maincf文件的内容,则必须运行postfix reload命令使其生效。
1. myorigin
myorigin参数指明发件人所在的域名。如果你的用户的邮件地址为user@domaincom,则该参数指定@后面的域名。缺省地,postfix使用本地主机名作为myorigin,不过建议你最佳使用你的域名,因为这样更具有可读性。比如:安装postfix的主机为maildomaincom则我们能这样指定myorigin:
myorigin = domaincom
当然我们也能引用其他参数,如:
myorigin = $mydomain
2. mydestination
mydestination参数指定postfix接收邮件时收件人的域名,换句话说,也就
是你的postfix系统要接收什么样的邮件。比如:你的用户的邮件地址为user@domaincom, 也就是你的域为domaincom, 则你就需要接收所有收件人为user_name@domaincom的邮件。和myorigin相同,缺省地,postfix使用本地主机名作为mydestination。
3. notify_classes
在postfix系统中,必须指定一个postfix系统管理员的别名指向一个用户,
只有这样,在用户遇见问题时才有报告的对象,postfix也才能将系统的问题报告给管理员。notify_classes参数就是用来指定向postfix管理员报告错误时的信息级别。共有以下几种级别:
bounce:将不能投递的邮件的拷贝发送给postfix管理员。出于个人隐私的缘故,该邮件的拷贝不包含信头。
2bounce:将两次不可投递的邮件拷贝发送给postfix管理员。
delay:将邮件的投递延迟信息发送给管理员,仅仅包含信头。
policy:将由于uce规则限制而被拒绝的用户请求发送给postfix管理员,包含整个smtp会话的内容。
protocol:将协议的错误信息或用户企图执行不支持的命令的记录发送给postfix管理员。同样包含整个smtp会话的内容。
resource:将由于资源错误而不可投递的错误信息发送给postfix管理员,比如:队列文件写错误等等。
software:将由于软件错误而导致不可投递的错误信息发送给postfix管理员。
缺省值为:
notify_classes = resource, software
4.myhostname
myhostname 参数指定运行postfix邮件系统的主机的主机名。缺省地,该值被设定为本地机器名。你也能指定该值,需要注意的是,要指定完整的主机名。如:
myhostname = maildomaincom
5.mydomain
mydomain参数指定你的域名,缺省地,postfix将myhostname的第一部分删除而作为mydomain的值。你也能自己指定该值,
6.mynetworks
mynetworks 参数指定你所在的网络的网络地址,postfix系统根据其值来差别用户是远程的还是本地的,如果是本地网络用户则允许其访问。你能用标准的a、b、c类网络地址,也能用cidr(无类域间路由)地址来表示,
7.inet_interfaces
inet_interfaces 参数指定postfix系统监听的网络接口。缺省地,postfix监听
所有的网络接口。如果你的postfix运行在一个虚拟的ip地址上,则必须指定其监听的地址。
43 postfix的uce(unsolicited commercial email)控制
所谓uce控制就是指控制postfix接收或转发来自于什么地方的邮件。
缺省地,postfix转发符合以下条件的邮件:
来自客户端ip地址符合$mynetworks的邮件。
来自客户端主机名符合$relay_domains及其子域的邮件。
目的地为$relay_domains及其子域的邮件。
缺省地,postfix接受符合以下条件的邮件:
目的地为$inet_interfaces的邮件。
目的地为$mydestination的邮件。
目的地为$virtual_maps的邮件。
不过我们也能通过下面的规则来实现更强大的控制功能。
1. 信头过滤
通过header_checks参数限制接收邮件的信头的格式,如果符合指定的格式,则拒绝接收该邮件。能指定一个或多个查询列表,如果新邮件的信头符合列表中的某一项则拒绝该接收邮件。
2.客户端主机名/地址限制
通过smtpd_client_restrictions参数限制能向postfix发起smtp 连接的客户端的主机名或ip地址。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
3 是否请求helo命令
能通过smtpd_helo_required参数指定客户端在smtp会话的开始是否发
送一个helo命令。你能指定该参数的值为yes或no。
4 helo主机名限制
能通过smtpd_helo_restrictions参数指定客户端在执行helo命令时发送
给postfix的主机名。缺省地,postfix接收客户端发送的任意形式的主机名。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
5 rfc 821信头限制
rfc 821对邮件的信头做了严格的规定,不过广泛使用的sendmail并不支
持该规定,所以对于该参数我们只能说不,
6 通过发件人地址进行限制
能用smtpd_sender_restrictions参数通过发件人在执行mail from命令时提供的地址进行限制。能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序进行的,第一条符合条件的规则被执行。
reject_unknown_sender_domain:如果mail from命令提供的主机名在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。
check_sender_access maptype:mapname:根据mail from命令提供的主机名、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。能通过该参数过滤来自某些不受欢迎的发件人的邮件。
reject_non_fqdn_sender:如果mail from命令提供的主机名不是rfc规定的完整的域名则拒绝客户端的连接请求。能用non_fqdn_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
缺省地,postfix接受来自所有发件人的邮件。
7 通过收件人地址进行过滤
能用smtpd_recipient_restrictions参数通过发件人在执行rcpt to命令
时提供的地址进行限制。缺省值为:
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains
能指定一个或多个参数值,中间用逗号隔开。限制规则是按照查询的顺序
进行的,第一条符合条件的规则被执行。可用的规则有:
check_relay_domains:如果符合以下的条件,则接受smtp连接请求,否则拒绝该连接,能用relay_domains_reject_code 参数指定返回给客户机的错误代码(缺省为504)。
客户端主机名符合$relay_domains及其子域
目的地为$inet_interfaces、$mydestination或$virtual_maps
permit_auth_destination:不管客户端的主机名,只要符合以下的条件,就
接受smtp连接请求:
解析后的目标地址符合$relay_domains及其子域
解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps
reject_unauth_destination:不管客户端的主机名,只要符合以下的条件,
就拒绝该客户端smtp连接请求:
解析后的目标地址符合$relay_domains及其子域
解析后的目标地址符合$inet_interfaces、$mydestination或$virtual_maps
check_recipient_access:根据解析后的目标地址、父域搜索access数据库。如果搜索的结果为reject 或 "[45]xx text" 则拒绝该客户端的连接请求;如果搜索的结果为ok、relay 或数字则接受该客户端的连接请求。能用access_map_reject_code参数指定返回给客户机的错误代码(缺省为554)。
reject_unknown_recipient_domain:如果收件人的邮件地址在dns中没有相应的a 或 mx 记录则拒绝该客户端的连接请求。能用unknown_address_reject_code参数指定返回给客户机的错误代码(缺省为450)。
reject_non_fqdn_recipient:如果发件人在执行rcpt to命令时提供的地址
不是完整的域名则拒绝其smtp连接请求。能用the non_fqdn_reject_code参数指定返回给客户机的错误代码(缺省为504)。
0条评论