配置postfix

在unix下发送邮件并一定需要安装postfix这类大型的smtp服务器软件,用msmtp就很好地解决unix下发邮件的问题。但既然把《Postfix权威指南》看了不下10遍却又依然解决不了postfix的架设问题实在让人火大。

 

先来说说我为什么选择postfix来作为邮件服务器的原因。在决定安装postfix前我比较了几种流行的邮件服务器解决方案,postfix、 sendmail、qmail、exim等。sendmail和qmail据说很老了,要么很久没更新,要么配置复杂,exim倒不错,是debian下 的推荐邮件服务器,但是担心与debian结合的太过紧密会影响它在其它平台上的表现,所以即便在debian下通过dpkg系列命令就可搭建 smarthost类型的邮件服务器也只好作罢。最后的选择是postfix。

 

再说说与postfix的相遇经历,呵呵,真的是很偶然,以前上大学的时候经常去图书馆看IT方面的书,图书馆里放置it书籍的那几排书架我闭着眼 睛都能说出哪本书在什么位置(呵呵,开玩笑呢)。有一排书架上放的是邮件服务器架设的书籍,上面有介绍qmail、postfix、sendmail、 exchange等等的书。因为《Postfix 权威指南》这本书比较新,所以想当然地认为介绍的内容应该与最新版本的Postfix是一致的吧。虽然后面发现其实这本书上介绍的很多配置项已经过时了, 最新版本的postfix体现的方便特性没有在此本书上反映出来,不过除去这一缺点这本书整体来说还是不错的。

前面说了这么多的铺垫,现在才进入正题。

第一,generic选项

这个选项是用来控制smtp对话过程中mail from问题的。很多邮件系统,比如163的smtp服务,要求smtp对话过程中的mail from的回答必须为163域名的邮箱。这个mail from是一个基本的反垃圾邮件的功能。当然仅靠mail from显然阻止不了太多的垃圾邮件的,最多用来磨炼一下像我这样的菜鸟。

在一些老版本的postfix中没有generic这个选项就比较麻烦了,得用规划表(canonial ? sender_canonial?)对发件人地址进行重写,这个是不仅对smtp对话过程中的mail from地址(即信封地址)进行改写,还会改写邮件中的From:地址。所以还是用新版本的postfix比较好。

第二,relay_host选项

设置smtp代理地址,如果要用163邮箱代发自己的邮件,要在163上注册一个邮箱,再把realy_host选项设为163的smtp服务地址。

你是否需要设relay_host选项。如果你的电脑没有独立ip(很贵,不是一般人能买得起)或没有自己的域名(搞到这个可能没那么难)那就要设 realy_host了。而且很多relay_host都要求进行sasl认证,这就要求有用户名、密码什么的了。我对sasl服务的架设没了解过,这里 不谈。

第三,postmap

在用postmap生成规划表或别名表的时候一定要加上要生成的表的类型,main.cf中相应配置变量的表类型要与postmap生成表的时候的类型一致。

比如:

# postmap hash:generic

在main.cf中:

generic = hash:generic


好了,以上就是postfix配置过程中的一些心得。第三点是我纠结了很长时间的一个问题,现在看来很可笑。其它的fetchmail啊,mutt啊什么的就不谈了。

ps1:mutt配m3m看html附件中有中文的邮件,lynx真心蛋痛。

ps2:发现blogbus的html编辑器竟带有快捷键,键的绑定与bash里的是一致的。这个功能真心不错,很geek。

你可能感兴趣的:(mail,postfix)