
| ・ |
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。
|
| ご利用の皆様から多く寄せられる質問にお答えしています。 |
|
| ・ |
ディーエーオフィスなどが利用する用語に関する解説を行います。
|
|
|
 |
 |  |
Maia Mailguard-1.0.1の配信する「Maia Quarantine Digest」が日本語標題のメールを文字化けした状態で送付しますが? |
変換した内容を送付するように関連コードを修正します。
表示されている文字化けした標題は、無変換であるためです。実は、通例的に、日本語などをインターネット上で取り扱うとき、いかなる場合も英数字の文字列へ変換しています。Maia Mailguardでは、無変換のままのメールをデータベース上に格納しています。(日本語版を配布するページもありますが、日本語化の作業範囲外のようです。)
! CPANで導入
「MIME::Base64」と「Jcode」を使うので、あらかじめCPANなどからインストールしておきます。以下は、シェル上からCPANを呼び出し、JcodeとMIME::Base64をインストール、後に終了させる例です。
# perl -MCPAN -e shell
cpan> install Jcode
cpan> install MIME::Base64
cpan> quit
! メール送付処理を行うsend-quarantine-digests.plを編集する
エディタでsend-quarantine-digests.plを開きます。
ee /path/to/maiamailguard/scripts/send-quarantine-digests.pl
コードの前の方へ、use宣言がいくつかあるのを探します。
use DBI;
use POSIX;
use Net::SMTP;
use Template;
use Data::UUID;
見つかった文字列の下あたりに、以下を追記します。
use MIME::Base64;
use Jcode;
次に、下の文字列を探します。
if ($subject eq "") {
$subject = "(no subject)";
}
見つかった文字列の下あたりに、以下を追記します。
$lws = '(?:(?:\x0D\x0A|\x0D|\x0A)?[ \t])+';
$ew_regex = '=\?ISO-2022-JP\?B\?([A-Za-z0-9+/]+=*)\?=';
$subject =~ s/($ew_regex)$lws(?=$ew_regex)/$1/gio;
$subject =~ s/$lws/ /go;
$subject =~ s/$ew_regex/decode_base64($1)/egio;
Jcode::convert(\$subject, 'euc', 'jis');
以上で編集を終え、保存します。次に、エディタでテンプレートを修正します。
ee /path/to/maiamailguard/templates/digest.tpl
HTMLメールを送付する際、文字コードにISO-8859-1を指定しているので、EUC-JPへ変更します。
Content-Type: text/html; charset=EUC-JP
以上で編集を終え、保存します。
作業後、「Maia Quarantine Digest」が配信されてくるのを待ち、中身を確認した際、標題が日本語化されていたら完了です。
参考
http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64
|
| 文書番号 |
07073 |
| 日付 |
2006.07.10 |
| 参照数 |
676 |
|