﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-linus2k-随笔分类-工作</title><link>http://www.cnitblog.com/linus2k/category/1657.html</link><description>君子常当当的博客</description><language>zh-cn</language><lastBuildDate>Mon, 26 Sep 2011 08:56:53 GMT</lastBuildDate><pubDate>Mon, 26 Sep 2011 08:56:53 GMT</pubDate><ttl>60</ttl><item><title>纪念记忆力衰退之抽烟的技巧（刚学的，没试过）</title><link>http://www.cnitblog.com/linus2k/archive/2009/06/25/59627.html</link><dc:creator>君子常当当</dc:creator><author>君子常当当</author><pubDate>Thu, 25 Jun 2009 07:05:00 GMT</pubDate><guid>http://www.cnitblog.com/linus2k/archive/2009/06/25/59627.html</guid><wfw:comment>http://www.cnitblog.com/linus2k/comments/59627.html</wfw:comment><comments>http://www.cnitblog.com/linus2k/archive/2009/06/25/59627.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linus2k/comments/commentRss/59627.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linus2k/services/trackbacks/59627.html</trackback:ping><description><![CDATA[1. 泡一杯茶<br>
2. 把过滤嘴放在茶里弄湿了<br>
3. 开始抽吧  <img src ="http://www.cnitblog.com/linus2k/aggbug/59627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linus2k/" target="_blank">君子常当当</a> 2009-06-25 15:05 <a href="http://www.cnitblog.com/linus2k/archive/2009/06/25/59627.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]Postfix 邮件路由和传输研究</title><link>http://www.cnitblog.com/linus2k/archive/2008/10/16/50301.html</link><dc:creator>君子常当当</dc:creator><author>君子常当当</author><pubDate>Thu, 16 Oct 2008 02:21:00 GMT</pubDate><guid>http://www.cnitblog.com/linus2k/archive/2008/10/16/50301.html</guid><wfw:comment>http://www.cnitblog.com/linus2k/comments/50301.html</wfw:comment><comments>http://www.cnitblog.com/linus2k/archive/2008/10/16/50301.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linus2k/comments/commentRss/50301.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linus2k/services/trackbacks/50301.html</trackback:ping><description><![CDATA[<h2><br></h2>
本文最初发表于 http://hi.baidu.com/delphiss/blog/item/9f6c71cead14423bf9dc6148.html<br>
转载请注明出处<br>
作者：wdy<br>
<br>
postfix从各种渠道收到邮件后，先由cleanup程序处理收件地址，就是把一些不规范的发件和收件地址域名&#8220;清理&#8221;一下，比如没有的补全，改写等等。<br>
<br>
cleanup清理后的邮件被队列管理器交给trivial-rewrite来决定下一步的传输路由。<br>
<br>
postfix下一步的传输前需要获得几个目标地址数据：<br>
<br>
&nbsp; &nbsp; mydestination：本地标识；<br>
&nbsp; &nbsp; virtual_mailbox_domains：虚拟邮箱域名；<br>
&nbsp; &nbsp; relay_domains：转发域。<br>
<br>
路由信息包括邮件一下步的传输者(transport)和下一跳收件地址(next-hop&nbsp;&nbsp;destinations)。<br>
<br>
传输者是指 local 或 smtp 这样的在master.cf 里定义的记录。<br>
next-hop destinations 包括 主机或域名等。<br>
<br>
trivial-rewrite 判定的过程如下：<br>
<br>
&nbsp; &nbsp;<strong>如果收件域出现在mydestination里，或目标收件ip地址与&nbsp;&nbsp;$inet_interfaces 或 $proxy_interfaces 匹配，trivial-rewrite把邮件交给 [local_transport]；</strong><br>
&nbsp; &nbsp;[local_transport]的缺省设置是 local:$myhostname。表示transport是local(master.cf里定义的)，next-hop为$myhostname。<br>
<br>
&nbsp; &nbsp;<strong>如果收件域出现在virtual_mailbox_domains里，表示是个虚拟域的邮件，把邮件交给 [virtual_transport]；</strong><br>
&nbsp; &nbsp;[virtual_transport] 缺省的设置是 virtual: ，表示用 virtual 投递，next-hop还是原收件地址。<br>
&nbsp; &nbsp; virtual 根据 virtual_mailbox_base 来确定邮箱根目录，根据 virtual_mailbox_maps
来确定邮箱的存储路径，根据 virtual_uid_maps 和 virtual_gid_maps 来确定保存邮件使用的uid和gid。<br>
&nbsp; &nbsp;当然现在大多数都使用 maildrop 来进行虚拟域的投递，安装好maildrop后先在master.cf里把maildrop配置成一个transport，然后设置 :<br>
&nbsp; &nbsp;&nbsp;&nbsp;virtual_transport&nbsp; &nbsp;= maildrop:<br>
<br>
&nbsp; &nbsp;<strong>如果收件域出现在relay_domains里，就说明发件者因为各种原因无法把信件投递到收件域的主MX服务器了，自己正做为备用MX服务器接收了这些邮件。</strong><br>
&nbsp; &nbsp;&nbsp; &nbsp;postfix收下邮件后将尝试连接主MX服务器，交出之前收到的邮件。<br>
&nbsp; &nbsp;&nbsp; &nbsp;如果邮件在队列里保留时间超过maximal_queue_lifetime规定的时间，就会发一份退信通知给发信人。<br>
&nbsp; &nbsp; [relay_transport] 的缺省设置是 relay: 。<br>
&nbsp; &nbsp; 如果 relay_transport 设置里next-hop destinations为空，则依次查询&nbsp;&nbsp;sender_dependent_relayhost_maps, relayhost 来确定，如果都为空则next-hop 为原收件地址不变。<br>
&nbsp; &nbsp;<br>
&nbsp; &nbsp;<strong> 如果收件域是需要远程投递的其他的域，把邮件交给 [default_transport]；</strong><br>
&nbsp; &nbsp; [default_transport] 的缺省设置是 smtp: 。smtp MDA会先查询收件域名的mx记录，查询出ip后连接25端口进行投递。<br>
&nbsp; &nbsp; 如果 default_transport 设置里next-hop destinations为空，则依次查询 default_transport, sender_dependent_relayhost_maps,<br>
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;relayhost来确定，如果都为空则next-hop 为原收件地址不变。<br>
<br>
以上是postfix缺省的邮件路由方式，如果我们要自己指定一些路由方式，比如把 abc.com 所有邮件转发到另外一台主机让它来投递，把
root@xyz.com
的邮件拒收等等，我们就需要用到transport_maps查询表。transport_maps比缺省的postfix路由方式优先级要高。<br>
<br>
transport_maps数据项的键名为收件地址，键值为 transport:nexthop<br>
收件地址可以是一个域名，表示匹配这个域名下所有的收件地址。<br>
transport必须是master.cf里定义的传输方式。 <br>
如果 transport 传输方式是 inet 类型，则 nexthop 的形式为 host:port。如果 host 是个域名，则先查询mx记录确定ip地址。如果 host 本身就是个ip或是个A记录，则需要用方括号括起来。<br>
port指定要连接的端口，缺省是25。<br>
<br>
举几个例子：<br>
<br>
abc.com&nbsp; &nbsp; smtp:[192.168.12.34]:20025<br>
发送给abc.com的邮件使用smtp MDA传送到192.168.12.34的20025端口上。<br>
<br>
xyz.com&nbsp; &nbsp; maildrop<br>
发送给xyz.com的邮件交给maildrop投递。<br>
<br>
root@abc.com&nbsp; &nbsp;error:No mail accepted for root<br>
当场拒收给root@abc.com的邮件，并给出错误信息：No mail accepted for root<br>
<br>
spam@mydomain.com&nbsp; &nbsp; spam<br>
这个是dspam里的设置，表示把发给spam@mydomain.com的邮件交给spam(同样，spam在master.cf里设置）。 <img src ="http://www.cnitblog.com/linus2k/aggbug/50301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linus2k/" target="_blank">君子常当当</a> 2008-10-16 10:21 <a href="http://www.cnitblog.com/linus2k/archive/2008/10/16/50301.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个自己写的ajax简单框架，希望大家多提意见</title><link>http://www.cnitblog.com/linus2k/archive/2006/02/25/6935.html</link><dc:creator>君子常当当</dc:creator><author>君子常当当</author><pubDate>Sat, 25 Feb 2006 04:03:00 GMT</pubDate><guid>http://www.cnitblog.com/linus2k/archive/2006/02/25/6935.html</guid><wfw:comment>http://www.cnitblog.com/linus2k/comments/6935.html</wfw:comment><comments>http://www.cnitblog.com/linus2k/archive/2006/02/25/6935.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/linus2k/comments/commentRss/6935.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linus2k/services/trackbacks/6935.html</trackback:ping><description><![CDATA[<A HREF="/linus2k/articles/6934.html">http://www.cnitblog.com/linus2k/articles/6934.html</A><img src ="http://www.cnitblog.com/linus2k/aggbug/6935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linus2k/" target="_blank">君子常当当</a> 2006-02-25 12:03 <a href="http://www.cnitblog.com/linus2k/archive/2006/02/25/6935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>统计vsftp有谁在线</title><link>http://www.cnitblog.com/linus2k/archive/2006/01/12/6130.html</link><dc:creator>君子常当当</dc:creator><author>君子常当当</author><pubDate>Thu, 12 Jan 2006 01:33:00 GMT</pubDate><guid>http://www.cnitblog.com/linus2k/archive/2006/01/12/6130.html</guid><wfw:comment>http://www.cnitblog.com/linus2k/comments/6130.html</wfw:comment><comments>http://www.cnitblog.com/linus2k/archive/2006/01/12/6130.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/linus2k/comments/commentRss/6130.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linus2k/services/trackbacks/6130.html</trackback:ping><description><![CDATA[netstat -nat | grep ESTABLISHED | grep :21 <BR>记录一下,以后可能有用<img src ="http://www.cnitblog.com/linus2k/aggbug/6130.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linus2k/" target="_blank">君子常当当</a> 2006-01-12 09:33 <a href="http://www.cnitblog.com/linus2k/archive/2006/01/12/6130.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于postfix日志分析</title><link>http://www.cnitblog.com/linus2k/archive/2005/12/21/5631.html</link><dc:creator>君子常当当</dc:creator><author>君子常当当</author><pubDate>Wed, 21 Dec 2005 01:20:00 GMT</pubDate><guid>http://www.cnitblog.com/linus2k/archive/2005/12/21/5631.html</guid><wfw:comment>http://www.cnitblog.com/linus2k/comments/5631.html</wfw:comment><comments>http://www.cnitblog.com/linus2k/archive/2005/12/21/5631.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnitblog.com/linus2k/comments/commentRss/5631.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/linus2k/services/trackbacks/5631.html</trackback:ping><description><![CDATA[使用anteater的日志分析工具，怎么也分析不出结果来，后来看了一下源代码，postfixfilter.cpp文件中postfix日志的id长度是10，而我在记录日志时id的长度是11，修改了一下重新编译就有结果了，高兴ing<br>
我的postfix版本是2.0.16<br>
anteater目前版本是0.4.5下载地址<a href="http://sourceforge.net/project/showfiles.php?group_id=16363">http://sourceforge.net/project/showfiles.php?group_id=16363</a><br>
<br>
<img src ="http://www.cnitblog.com/linus2k/aggbug/5631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/linus2k/" target="_blank">君子常当当</a> 2005-12-21 09:20 <a href="http://www.cnitblog.com/linus2k/archive/2005/12/21/5631.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>