继续这个系列。说说通过其他邮件提供商,比如gmail发邮件的功能。
修改/etc/postfix/main.cf
,添加
smtp_sasl_password_maps = hash:/etc/postfix/sasl_security
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_cname_overrides_servername = no
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/relay_host
这就是说用smtp发送邮件的时候读取/etc/postfix/relay_host
,根据发送人邮箱匹配邮件提供商的smtp服务器地址,同时根据/etc/postfix/sasl_security
文件找到对应的密码登陆邮件提供商的服务器,然后把邮件投递过去。
/etc/postfix/sasl_security
中的格式是
邮箱地址 帐号:密码
比如
abc@gmail.com abc@gmail.com:123456
/etc/postfix/relay_host
中的格式是
@邮箱 [邮件提供商smtp服务器地址]:邮件提供商smtp服务器端口
比如
@gmail.com [smtp.gmail.com]:587
之后需要用postmap
处理这两个文件。同时要记得把sasl_security
对应的两个文件设定权限为600,毕竟是明文密码文件。
再之后就是在邮件客户端上设置以不同身份(邮箱)发邮件,各个客户端都不同,但相信是很简单的。
这样做的好处是邮件客户端只需要设定一组服务器以及用户名密码,不需要每个邮箱都单独设置,对于有很多邮箱的时候会很方便。其次所有邮箱都其实是通过一个邮箱发送,可以把所有邮件放在一起,即使是「已发送」邮件,也不需要在不同的邮箱中查找。当然需要按照之前所说的方法设置发送邮件的bcc转发,才能保留已发送邮件。