分享

Postfix+SMTP 密码认证

 krrish 2010-02-03
Description :

好久没上来 post 文章了,这几天又学到了新东西 postfix+cyrus-sasl,也就是在 Mail Server 上将 SMTP 外送伺服器做密码认证, 因为 ISP 通常会把自己的邮件伺服器 Mail Relay 关掉,以防止非自己 IP 群做转寄邮件的动做,这样 ISP 方能管制垃圾信问题,若是我们公司的人在外面,想使用 Outlook 寄一封信时,还得找到这家 ISP 的外送伺服器 SMTP,才可寄信 ,这对一个业务员来说太复杂了,光是台湾就有将近上百家 ISP,因此,将 Mail Server 的 SMTP 做密码认证是有其必要的 ,业务员只要在 Outlook 里,某个选项打个勾, 便可外寄邮件,你说这样是不是很方便呢 ? Mail Server 的管理者,也可以确保 Mail Server 不被有心人做 Mail Relay 。

Environment :
  • 硬体:i386 PC Intel Pentium Pro 150
  • 记忆体:32M RAM
  • 作业系统:FreeBSD 4.2 Release
Setp 1.

首先安装 pop3,目的是为让 PC Client 端的使用者,可以将 Mail Server 上自己的 Mail 收到自己的电脑里。
#cd /usr/ports/mail/qpopper
#make install
编辑 #vi /etc/inetd.conf 加入下面这行,重跑 inetd 的 pop3 110 port 便可以 Runing。

pop3 stream tcp nowait root /usr/local/libexec/qpopper popper -s

测试 :

#telnet 127.0.0.1 110
Trying 127.0.0.1...
Connected to nat.ntut.idv.tw.
Escape character is '^]'.
+OK Qpopper (version 4.0.4) at nat.ntut.idv.tw starting.
即可........

Setp 2.

使用 posts tree 安装 postfix-current,
中间的 -DFORCE_PKG_REGISTER 这个参数目的是在於,如果已经有 postfix 存在的话, 我还是要 override 过去,就是可以强制安装,用 ports tree 安装任何软体都适用。 开始安装後会跳出视窗标题 ( Postfix configuration options ) 时,只要选择 SASL 即可。

#cd /usr/ports/mail/postfix-current
#make -DFORCE_PKG_REGISTER all install clean

安装 postfix-current 结束後,来设定 pwcheck 和 cryus-sasl ,为了让 postfix 的 smtpd 可以 access 到 /var/pwcheck/pwcheck ,我们必须修改/etc/group,让 postfix 这个 user 成为 cyrus 这个账号的同一个 group #vi /etc/group

cyrus:*:60:daemon,postfix

接下来新增 smtpd.conf 这个档 #vi /usr/local/lib/sasl/smtpd.conf 内容如下:

pwcheck_method: pwcheck

Setp 3.

#vi /usr/local/etc/postfix/main.cf
修改 mail.conf 修改的内容如下:

myhostname = nat.ntut.idv.tw
mydomain = nat.ntut.idv.tw
alias_maps = hash:/usr/local/etc/postfix/aliases

smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
check_relay_domains,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unlisted_sender,

smtpd_client_restrictions =
cidr:/usr/local/etc/postfix/client.cidr
reject_rbl_client bl.spamcop.net
reject_rbl_client relays.ordb.org
reject_rbl_client sbl.spamhaus.org

smtpd_sasl_auth_enable= yes
smtpd_sasl_security_options= noanonymous
smtpd_sasl_local_domain = nat.ntut.idv.tw

Setp 4.

#/usr/local/etc/rc.d/cyrus_pwcheck.sh start
# 将 pwcheck 跑起来
#vi /usr/local/etc/postfix/client.cidr # 拒绝无法过滤烂发垃圾信的 IP 网段

# Sapm IP Groups
220.163.0.0/16 DISCARD spam
218.62.0.0/16 DISCARD spam
218.63.0.0/16 DISCARD spam
61.159.0.0/16 DISCARD spam


#postmap -q - cidr:/usr/local/etc/postfix/client.cidr < /usr/local/etc/postfix/client.cidr

#/usr/local/sbin/postfix stop
#/usr/local/sbin/postfix start

PC 寄信端设定:

设定 Windows Outlook:在 Outlook 建立完信箱後,选 设定→账号 →邮件,进入刚建立的信箱选伺服器,勾选我的伺服器需要验证即可。

设定 Mozila Thunderbird:在 Thunderbird 建立完信箱後,选 工具→账号设定 →SMTP外寄邮件伺服器
使用安全连线:勾选 TLS 即可。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多