Aug 21

[原]postfix的简单配置 不指定

linuxing , 10:30 , 网络服务 » 邮件系统 , 评论(3) , 引用(0) , 阅读(39936) , Via 本站原创 | |

三、配置ESMTP
接下来配置的,主要是针对postfix,以让其可以收发外部的邮件,并对特定的用户和域提供SMTP功能。
1、修改main.cf
引用
myhostname = dc5test.linuxfly.org

当前主机名称,建议配置为FQDN形式
引用
mydomain = linuxfly.org

默认域名称,不设置的话,会自动读取myhostname的后缀形式
引用
myorigin = $mydomain

本机发送出去的邮件会以这个做标识,也就是邮件标头上面的 mail from 的那个地址
引用
inet_interfaces = $myhostname, localhost

这个是监听的网卡,默认只有localhost,可以设置为all或者上面的形式,以决定为那些网卡做监听
引用
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

这个是决定那些邮件是发到本地服务器,并收取下来,不再转发的。
默认没有设置mydomain,请特别留意,这个设置不好的结果,就是本地收不到邮件
引用
mynetworks = 192.168.218.0/24, 127.0.0.0/8

#设置那些客户端是可以通过本地认证的,通过了该认证,配合下面的设置,就可使用SMTP服务
引用
relay_domains = $mydestination

定义可以提供Relay服务的主机范围,上面的意思是只有发送到目标地址的才提供转发服务;但这在对外提供服务的时候是不足够的,例如该主机作为mail.linuxfly.org的MX标记主机,那么就不是对linuxfly.org提供转发才可以,也就是$mydomain;
引用
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

使用hash格式定义别名文件和别名数据库
引用
smtpd_sasl_auth_enable = yes

启动sasl认证
引用
smtpd_sasl_security_options = noanonymous

取消匿名登陆,默认使用PLAINTEXT模式
引用
broken_sasl_auth_clients = yes

封阻对一些使用不规范SASL认证的客户端
引用
smtpd_recipient_restrictions =
 permit_mynetworks,
 permit_sasl_authenticated,
 reject_unauth_destination

设置对那些网络和客户端提供Relay功能,上面的就是除本地网络和通过SASL认证外的都不提供。
2、配置Cyrus SASL
◎先判断一下支持那些认证方式:
引用
# saslauthd -v
saslauthd 2.1.19
authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

◎设置从哪里获取认证信息:/etc/sysconfig/saslauthd
引用
MECH=shadow

使用shadow或pam都可以。
◎设置认证机制:/usr/lib/sasl2/smtpd.conf
引用
pwcheck_method: saslauthd
mech_list:PLAIN LOGIN

3、启动服务
service saslauthd start
service postfix start

验证一下:
引用
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 dc5test.linuxfly.org ESMTP Postfix
ehlo localhost
250-dc5test.linuxfly.org
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.

※蓝色字是输入的命令
4、其他
使用PLAIN TEXT(明文)可能是不安全的,Cyrus sasl还可以支持下面几种认证模式:
引用
250-AUTH DIGEST-MD5 CRAM-MD5 NTLM LOGIN GSSAPI PLAIN
250-AUTH=DIGEST-MD5 CRAM-MD5 NTLM LOGIN GSSAPI PLAIN

可参考这里获得配置方式:
引用
/usr/share/doc/postfix-2.1.5/README-Postfix-SASL-RedHat.txt
/usr/share/doc/postfix-2.1.5/README_FILES/SASL_README

当然,上述配置已经提供了安全配置,但供局域网内使用还可以,若开放到互联网上,则还需要考虑增加MDA,以实现垃圾过滤、病毒过滤等功能。否则,该服务器不但不能给你带来帮助,还会给你带来很多意料之外的麻烦。
※注意:
smtpd_recipient_restrictions是按顺序执行的。而同时配置permit_mynetworks和permit_sasl_authenticated的结果就是,如果客户端和服务器在同一网段,则是不需要通过SMTP认证的。或者换过来说,任一认证通过即可。
但其他网段的客户端就只能通过SMTP认证了。
内文分页: [1] [2]
Tags: , , , ,
ydtpan
2008/12/27 10:00
楼主,TELNET看似已经有SMTP认证,但实际邮件测试一下,SMTP认证根本无法通过。请在OUTLOOK测试打开或关闭服务器认证都可以收发邮件。不知为什么了???可否讲讲有关认证方式的事情,以便大伙有个参考。TKS
linuxing 回复于 2008/12/27 14:28
您看到日志中最后的说明吗?
smtpd_recipient_restrictions是按顺序执行的。而同时配置permit_mynetworks和permit_sasl_authenticated的结果就是,如果客户端和服务器在同一网段,则是不需要通过SMTP认证的。或者换过来说,任一认证通过即可。
但其他网段的客户端就只能通过SMTP认证了。
woyouu Email Homepage
2007/12/13 09:41
谢谢~现在问题已经解决了....
原来是在dovecot里面的一个收件路径没设置,所以一直无法收到信件!~
woyouu Email
2007/12/12 09:35
有问题求救,我现在是可以发邮件,却不能收邮件,是什么原因???
linuxing 回复于 2007/12/12 10:23
看看/var/log/mailllog中的报错信息是什么?
通常这样的问题,是对方找不到本地的SMTP服务,或者给本地的一些防垃圾邮件规则给过滤掉了。
看看日志信息,会比较清楚的。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]