<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Almalinux10 on ma3ki&#39;s memo</title>
        <link>https://memo2.ma3ki.net/tags/almalinux10/</link>
        <description>Recent content in Almalinux10 on ma3ki&#39;s memo</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-jp</language>
        <lastBuildDate>Tue, 14 Jul 2026 07:48:00 +0900</lastBuildDate><atom:link href="https://memo2.ma3ki.net/tags/almalinux10/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>dovecot2.4.4にアップグレードしたらSieveのheader :regexで日本語Subjectが文字化けした</title>
        <link>https://memo2.ma3ki.net/Almalinux10/dovecot2.4-sieve-mojibake/</link>
        <pubDate>Tue, 14 Jul 2026 07:48:00 +0900</pubDate>
        
        <guid>https://memo2.ma3ki.net/Almalinux10/dovecot2.4-sieve-mojibake/</guid>
        <description>&lt;p&gt;Rocky Linux 9 (Dovecot 2.3系) から AlmaLinux 10 (Dovecot 2.4.4) へメールサーバを移行したところ、WordPress(Postie)へメール投稿する際に件名が文字化けするようになった。&lt;/p&gt;
&lt;p&gt;例えば、&amp;ldquo;ランドセル&amp;rdquo; という件名が、 &amp;ldquo;ã©ã³ãã»ã«&amp;rdquo; のように文字化けする。
最初はPostie や WordPress、phpなどを疑ったが、原因はその前に件名を修正していた Sieve の header :regex にありました。&lt;/p&gt;
&lt;h2 id=&#34;状況&#34;&gt;状況
&lt;/h2&gt;&lt;p&gt;もともと使用していた Sieve ルールは件名の先頭に日付(YYYY/MM/DD)を挿入する以下のようなもの。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;require [&amp;#34;editheader&amp;#34;,&amp;#34;fileinto&amp;#34;,&amp;#34;regex&amp;#34;,&amp;#34;variables&amp;#34;,&amp;#34;date&amp;#34;];

if header :regex &amp;#34;Subject&amp;#34; &amp;#34;(.*)&amp;#34; {
    set &amp;#34;subj&amp;#34; &amp;#34;${1}&amp;#34;;
    deleteheader :regex &amp;#34;Subject&amp;#34; &amp;#34;.*&amp;#34;;
    addheader &amp;#34;Subject&amp;#34; &amp;#34;2026/07/14 ${subj}&amp;#34;;
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Rocky Linux 9 (Dovecot 2.3系) では想定通りに動作していました。&lt;/p&gt;
&lt;h2 id=&#34;対応&#34;&gt;対応
&lt;/h2&gt;&lt;p&gt;Pigeonhole 2.4 系では regex が Unicode comparator をサポートしたことに気付きました。(Chatgptが)
比較器を明示すると想定通り動作します。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;require [
    &amp;#34;editheader&amp;#34;,
    &amp;#34;fileinto&amp;#34;,
    &amp;#34;regex&amp;#34;,
    &amp;#34;variables&amp;#34;,
    &amp;#34;date&amp;#34;,
    &amp;#34;comparator-i;unicode-casemap&amp;#34;
];

if header :comparator &amp;#34;i;unicode-casemap&amp;#34;
          :regex &amp;#34;Subject&amp;#34; &amp;#34;(.*)&amp;#34;
{
    set &amp;#34;subj&amp;#34; &amp;#34;${1}&amp;#34;;
    deleteheader :regex &amp;#34;Subject&amp;#34; &amp;#34;.*&amp;#34;;
    addheader &amp;#34;Subject&amp;#34; &amp;#34;2026/07/14 ${subj}&amp;#34;;
}
&lt;/code&gt;&lt;/pre&gt;</description>
        </item>
        
    </channel>
</rss>
