|
这两天实现最简单邮件架构,功能包括: 邮件收发(smtp+ pop/imap) 使用系统帐号, 没用mysql/ldap之类, 也没有webmail, 用客户端或telnet使用
软件: postfix-2.1.4-4.2.i386.rpm cyrus-imapd-2.2.12-3.1.i386.rpm cyrus-sasl-2.1.19-5.i386.rpm
(一) postfix相关
(1) sendmail postfix 相当于MTA, 实现邮件转发功能, smtp在该软件中实现. 由于postfix里带了sendmail,所以我的做法是把系统里先前如果存在的sendmail卸载调,不过不卸载也没事(网上资料说的). 卸载完后要重启机子, 这个我就不知道为什么了,或许只要杀掉某些进程, 网上说杀掉sendmail进程,但好像也没开这个,算了.待议.
(2) 配置文件 对/etc/postfix下的master.cf进行修改,开启原来屏蔽掉的 smtpd这两行.
cat /etc/postfix/main.cf.default | tee -a /etc/postfix/main.cf main.cf.default里面设定了默认的参数, 添到 main.cf里就ok了
但要部分修改: 对/etc/postfix下的main.cf进行修改, 添加 myhostname= mail.lcy.com (这个随便) mail.lcy.com 在我/etc/hosts里面定义,实际是我的主机名, 这个东西很好玩, 可以任意修改自己的名字,作为欺骗, 比如修改成 redhat.com, 然后收件方看起来就像是红帽内部员工发的一样 邮件这东西,唉, 没办法, 控制不了这种欺骗性, 就和真实邮件一样, 冒名发的谁也不知道 安全机制的话以后再说. 修改 mail_spool_directory= /var/spool/mail
(3) 验证 postfix start 或者 reload 将修改后的生效
telnet mail.lcy.com 25 如果看到
Trying 10.1.9.85... Connected to mail.lcy.com (10.1.9.85). Escape character is '^]'. 220 mail.lcy.com ESMTP Postfix 就ok了, 前三行是 telnet给的, 如果连不上,说明 25 smtp端口没开 如果最后一行没有,说明 smtp端口被占用, 需要关闭 先前说的重启就是让 25端口换成 postfix使用, 因此其实也不用重起,关掉端口重开postfix就可以了
(二) cyrus-imapd相关 这个是用来接收邮件使用的 service cyrus-imapd start 就可以了
telnet mail.lcy.com 110 查看 pop3端口有没开启
(三) cyrus-sasl相关 这个是用来身份验证的 saslauthd -a pam 开启 否则在我这套方法下邮件帐号没法用
(四) 三者结合 imapd的配置文件有两个 /etc/cyrus.conf 和 /etc/imapd.conf 查看cyrus.conf里面lmtpunix一行 , 添加到 main.cf里面 mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp 这个是邮件传递的方法(lmtp
添加 两行 autocreatequota: -1 createonpost: yes 到 imapd.conf , 这个是身份验证用的
重起imapd 和 postfix
(五) 使用 添加个帐号 test evolution 设置帐号 test@mail.lcy.com 收发服务器 mail.lcy.com 即可以使用
|