vine-users ML アーカイブ



[vine-users:082588] Re: fml で文字コードを変換したい

  • From: usi@xxxxxxxxxxxxxxx
  • Subject: [vine-users:082588] Re: fml で文字コードを変換したい
  • Date: Mon, 15 Sep 2014 10:42:13 +0900 (JST)
里野@金沢在住 様

牛島@奈良在住です。
コメント、ありがとうございました。

aliasesのデータベースの件、ありがとうございました。
サンプルが本当に助かりました。結論から言うと、無事に動き出しましたが、
浅い管理者知識が致命傷でした。

・設定ファイル
/etc/aliaseが正解だと思っていたのですが、/varの方にあったのですね。知りません
でした。

早速対応してみたところ、それでもうまくいきませんでした。
どうしてもメールがサーバで止まってしまいます。

そこで、サンプルと書式を確認したところ、私の設定は、
test-ml: "|/usr/bin/gmail-filter.pl |/home/fml/fml.pl /var/spool/ml/test-ml "
test-ml-ctl: "|/home/fml/fml.pl /var/spool/ml/test-ml --ctladdr"
test-ml-request: usitest-admin
test-ml-admin: fml
owner-test-ml: fml
owner-test-ml-ctl: fml
と、2行目にgmail-filter.plが入っていませんでした。
ホームページの書き方だとメールをfmlに送る前に文字変換すればよいので
1行目だけで良いように思うのですが、2行目にも必要だったのですね。
前からなぜ良く似たものを2行書いているのか不思議でしたが、実際にメールをfmlに
送って
いるのは「ctl」が書かれた2行目だったのですね。勉強になりました。
(逆に1行目の存在意義がわからなくなりましたが・・・)

それでも、メールはまだサーバにて消滅します。
Sep 15 09:21:55 fml postfix/local[20260]: C9105DC00E0: to=<test-ml@xxxxxxxxx>,
 relay=local, delay=0.12, delays=0.05/0.01/0/0.06, dsn=2.0.0, status=sent (del
ivered to command: /usr/bin/gmail-filter.pl|/home/fml/fml.pl /var/spool/ml/tes
t-ml )
Sep 15 09:21:55 fml postfix/qmgr[2365]: C9105DC00E0: removed

コピーが間違っていたのかと、再度コピーをしたり文字コードを JIS や utf-8 、euc-
jp に
して保存してもだめでした。

そこで、ファイル名が間違っていないかと確認したときに、
[root@fml bin]# ls -l gmail-filter.pl
-rw-r--r-- 1 root root 6159  9月 15 09:44 gmail-filter.pl

「実行」のフラグが上がっていないことに気が付きました。
そこで、
[root@fml bin]# chmod +x gmail-filter.pl
[root@fml bin]# ls -l gmail-filter.pl
-rwxr-xr-x 1 root root 6159  9月 15 09:44 gmail-filter.pl*

としたところ、ようやく動き出しました。

phpのファイルはこのフラグを立てるのですが、shのファイルは立てなくても
動くので、perlだから大丈夫かなぁと思い込んでいました。

これからは気を付けます。ありがとうございました。

追伸
multipart/alternative形式の件は知りませんでした。
Google先生に聞いたところ、ずいぶん変な形式ですね。
うまく、txt部分だけを抽出できれば問題は少なくなると思いますが、
そうすると、html形式のメールとの区別が付くかどうかが肝ですね。
すみません、答えにならなくて。

(2014/09/14 20:13), Hajime Satono wrote:> 
> 牛島さん。
> 
> 里野@金沢在住と申します。
> 
> 
> On 2014/09/14 18:13, usi@xxxxxxxxxxxxxxx wrote:
>> メーリングリストのユーザがほとんどが携帯電話となっています。
>> 最近、iphoneユーザの投稿が文字化けをするという事がありました。
>> 調べてみるとどうやら utf-8 でメールを送信しているようです。
>> キャリアーはdocomoでした。jisに変えれないかと設定を見てみた
>> のですが、文字コードを変更する方法はわかりませんでした。
>>
>> そこで、サーバでjisに置き換えて見ようと色々と調べてみると
>> 下記のようなサイトがあり、perlで変換するプログラムがありました。
>>
>> http://yamagata.int21h.jp/tool/gmail-filter/
> 
> 全く同様の悩みで全く同様の対処を行っています(^^;)
> 
> 
>> 早速入れてみたのですが、メールは返って来ませんでした。
>>
>> 理由の1つは 1行目の perl の位置が違っていたので
>> そこは変更しましたが、結果は変わりませんでした。
>> #!/usr/local/bin/perl -> #!/usr/bin/perl
> 
> まずfmlにて「test-ml」などのテスト用mlを作成して配信先を自分などにして下
> さい。そしてそのtest-ml@xxxxxxxxxxxxなどにテストメールを投げてみて下さい。
> 
> フィルタが正常に動作していれば配信されたメールのメールヘッダに・・・
> 
> 「X-GMail-Filter: gmail-filter.pl(ver0.19.02) by yamagata@openmya」
> 
> ・・・が付加されているはずです。
> 受信メーラでメールヘッダ表示を「全て」にして確認してみて下さい。
> 
> 付加されていない場合、フィルタ自体が稼働していない懸念があります。
> 
> fmlをサーバのどこでどのように動かしているかによりますが、
> 例えば当方の場合は/var/spool/ml/・・・配下に各mlがあり、
> fmlの設定ファイルは/var/spool/ml/etc/・・・配下にあります。
> 
> /var/spool/ml/etc/aliases
> 
> の内容に
> 
> 
> test-ml: "|/usr/bin/gmail-filter.pl |/home/fml/fml.pl /var/spool/ml/test-ml"
> test-ml-ctl: "|/usr/bin/gmail-filter.pl |/home/fml/fml.pl
> /var/spool/ml/test-ml --ctladdr"
> test-ml-request: test-ml-admin
> test-ml-admin: fml
> owner-test-ml: fml
> owner-test-ml-ctl: fml
> 
> といった「|/usr/bin/gmail-filter.pl」などの記述が追記されており、
> 同ディレクトリ配下で管理者権限により・・・
> 
> newaliases
> 
> ・・・を実行すれば動くかと思います。
> 
> fmlで「実際に利用されている」aliasデータベースファイルの所在を誤認してい
> るといつまで経っても動作しません(当方この罠に3日ぐらいハマりました)。
> 
> 以上、ご参考になれば幸いです。
> 
> 
> ちなみに本フィルタを使った場合でも・・・
> 
> 「Content-Type: 	multipart/alternative;」
> 
> ・・・でmlに対して送信されたメールは正しく変換されない模様です。
> 
> この解決法をご存じの方がいらっしゃれば是非ご教示下さい_(_ _)_
> 
> 
> 	By Hajime-Satono / halcom@xxxxxxxxxxxx
> 
> _______________________________________________
> vine-users mailing list
> vine-users@xxxxxxxxxxxxxxxxxxxx
> http://listserv.linux.or.jp/mailman/listinfo/vine-users
> 

_______________________________________________
vine-users mailing list
vine-users@xxxxxxxxxxxxxxxxxxxx
http://listserv.linux.or.jp/mailman/listinfo/vine-users