<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Postfix on HiDa</title><link>https://www.0niu.cn/tags/postfix/</link><description>Recent content in Postfix on HiDa</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Fri, 27 May 2022 00:11:09 +0800</lastBuildDate><atom:link href="https://www.0niu.cn/tags/postfix/index.xml" rel="self" type="application/rss+xml"/><item><title>Postfix拒收收件人为指定地址的邮件</title><link>https://www.0niu.cn/posts/postfix-reject-emails-with-a-specified-recipient-address/</link><pubDate>Fri, 27 May 2022 00:11:09 +0800</pubDate><guid>https://www.0niu.cn/posts/postfix-reject-emails-with-a-specified-recipient-address/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 编辑黑名单&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat /etc/postfix/recipient_blocklist
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>wf@x.yz REJECT
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cy@x.yz REJECT
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description><content>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 编辑黑名单&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat /etc/postfix/recipient_blocklist
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>wf@x.yz REJECT
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cy@x.yz REJECT
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># smtpd_recipient_restrictions 下方添加 check_recipient_access hash:/etc/postfix/recipient_blocklist&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &lt;span style="color:#f92672">/&lt;/span>etc&lt;span style="color:#f92672">/&lt;/span>postfix&lt;span style="color:#f92672">/&lt;/span>main&lt;span style="color:#f92672">.&lt;/span>cf
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">...&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>smtpd_recipient_restrictions &lt;span style="color:#f92672">=&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> reject_non_fqdn_recipient
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> reject_unlisted_recipient
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> check_recipient_access hash:&lt;span style="color:#f92672">/&lt;/span>etc&lt;span style="color:#f92672">/&lt;/span>postfix&lt;span style="color:#f92672">/&lt;/span>recipient_blocklist
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> check_policy_service inet:&lt;span style="color:#ae81ff">127.0&lt;/span>&lt;span style="color:#f92672">.&lt;/span>&lt;span style="color:#ae81ff">0.1&lt;/span>:&lt;span style="color:#ae81ff">7777&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> permit_mynetworks
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> permit_sasl_authenticated
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> reject_unauth_destination
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> check_policy_service inet:&lt;span style="color:#ae81ff">127.0&lt;/span>&lt;span style="color:#f92672">.&lt;/span>&lt;span style="color:#ae81ff">0.1&lt;/span>:&lt;span style="color:#ae81ff">12340&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">...&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo postmap &lt;span style="color:#f92672">/&lt;/span>etc&lt;span style="color:#f92672">/&lt;/span>postfix&lt;span style="color:#f92672">/&lt;/span>recipient_blocklist
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo systemctl reload postfix
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></content></item><item><title>iRedMail配置静态路由</title><link>https://www.0niu.cn/posts/iredmail%E9%85%8D%E7%BD%AE%E9%9D%99%E6%80%81%E8%B7%AF%E7%94%B1/</link><pubDate>Wed, 25 May 2022 22:44:57 +0800</pubDate><guid>https://www.0niu.cn/posts/iredmail%E9%85%8D%E7%BD%AE%E9%9D%99%E6%80%81%E8%B7%AF%E7%94%B1/</guid><description>背景 邮箱默认 MX 记录指向梭子鱼邮件网关，所有外部邮件先经过网关过滤再投递到邮箱服务器。同时在 O365 上配置了 Connector，允许直接投递到网关。</description><content>&lt;h2 id="背景">背景&lt;/h2>
&lt;p>邮箱默认 MX 记录指向梭子鱼邮件网关，所有外部邮件先经过网关过滤再投递到邮箱服务器。同时在 O365 上配置了 Connector，允许直接投递到网关。&lt;/p>
&lt;p>需要将特定域的邮件通过静态路由（transport map）转发到指定地址，绕过默认投递逻辑。&lt;/p>
&lt;h2 id="配置步骤">配置步骤&lt;/h2>
&lt;h3 id="1-新建路由表文件">1. 新建路由表文件&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>sudo touch /etc/postfix/staticroute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="2-编辑路由规则">2. 编辑路由规则&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>sudo vi /etc/postfix/staticroute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>格式为 &lt;code>目标域/收件人 转发目标&lt;/code>：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span># 整个域转发
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>example.com smtp:[mail-gateway.example.com]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># 特定用户转发
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>user@example.com smtp:[internal-server.example.com]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>&lt;strong>注意&lt;/strong>：&lt;code>[]&lt;/code> 表示直接使用 IP/主机名解析，不查找 MX 记录。&lt;/p>
&lt;/blockquote>
&lt;h3 id="3-注册-transport_maps">3. 注册 transport_maps&lt;/h3>
&lt;p>编辑 &lt;code>/etc/postfix/main.cf&lt;/code>，找到 &lt;code>transport_maps&lt;/code> 行，在其下方添加：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>transport_maps = hash:/etc/postfix/transport
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> hash:/etc/postfix/staticroute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>如果文件中已有 &lt;code>transport_maps&lt;/code>，在末尾追加即可（多个映射源用空格分隔）。&lt;/p>
&lt;h3 id="4-生成哈希文件并重载">4. 生成哈希文件并重载&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>sudo postmap /etc/postfix/staticroute
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo systemctl reload postfix
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="5-验证">5. 验证&lt;/h3>
&lt;p>查看当前路由是否生效：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>postmap -q example.com /etc/postfix/staticroute
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>发送测试邮件，检查 maillog：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>tail -f /var/log/mail.log | grep &lt;span style="color:#e6db74">&amp;#39;staticroute&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="排查">排查&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>修改路由后不生效&lt;/strong> → 确认执行了 &lt;code>postmap&lt;/code> 生成 &lt;code>.db&lt;/code> 文件&lt;/li>
&lt;li>&lt;strong>转发目标不可达&lt;/strong> → 检查目标服务器是否开放 25 端口，防火墙是否放行&lt;/li>
&lt;li>&lt;strong>格式错误&lt;/strong> → &lt;code>postfix check&lt;/code> 可检查配置语法&lt;/li>
&lt;/ul>
&lt;h3 id="参考文档">参考文档&lt;/h3>
&lt;p>&lt;a href="https://www.linuxbabe.com/mail-server/postfix-transport-map-relay-map-flexible-email-delivery">Postfix Transport Map - Flexible Email Delivery&lt;/a>&lt;/p></content></item><item><title>用postfix转发邮件到新的域名</title><link>https://www.0niu.cn/posts/use-postfix-to-forward-emails-to-new-domain/</link><pubDate>Mon, 28 May 2018 00:44:41 +0800</pubDate><guid>https://www.0niu.cn/posts/use-postfix-to-forward-emails-to-new-domain/</guid><description>&lt;p>公司换了新的域名和邮件系统，但临时无法把旧域名绑定到新的邮件系统。两套系统邮箱地址前缀相同，后缀不同，于是想到了用postfix做邮件转发。&lt;/p>
&lt;ol>
&lt;li>新建&lt;code>/etc/postfix/virtual&lt;/code>，内容为&lt;code>/^([^@]*)@olddomain/ $(1)@newdomain&lt;/code>&lt;/li>
&lt;li>编辑&lt;code>main.cf&lt;/code>，在&lt;code>virtual_alias_maps =&lt;/code> 后添加 &lt;code>regexp:/etc/postfix/virtual&lt;/code>&lt;/li>
&lt;li>&lt;code>sudo systemctl reload postfix&lt;/code>&lt;/li>
&lt;/ol></description><content>&lt;p>公司换了新的域名和邮件系统，但临时无法把旧域名绑定到新的邮件系统。两套系统邮箱地址前缀相同，后缀不同，于是想到了用postfix做邮件转发。&lt;/p>
&lt;ol>
&lt;li>新建&lt;code>/etc/postfix/virtual&lt;/code>，内容为&lt;code>/^([^@]*)@olddomain/ $(1)@newdomain&lt;/code>&lt;/li>
&lt;li>编辑&lt;code>main.cf&lt;/code>，在&lt;code>virtual_alias_maps =&lt;/code> 后添加 &lt;code>regexp:/etc/postfix/virtual&lt;/code>&lt;/li>
&lt;li>&lt;code>sudo systemctl reload postfix&lt;/code>&lt;/li>
&lt;/ol>
&lt;h3 id="参考文档">参考文档&lt;/h3>
&lt;p>&lt;a href="https://serverfault.com/questions/313050/use-postfix-to-forward-mail-to-a-domain-to-the-same-address-at-a-different-domai">https://serverfault.com/questions/313050/use-postfix-to-forward-mail-to-a-domain-to-the-same-address-at-a-different-domai&lt;/a>&lt;/p></content></item></channel></rss>