ラベル フィルタ の投稿を表示しています。 すべての投稿を表示
ラベル フィルタ の投稿を表示しています。 すべての投稿を表示

2011年5月12日木曜日

Gmail(IMAP)でもThunderbirdのメッセージフィルタを使う

現在Gmail(IMAP)+Thunderbirdの環境を構築しています。

基本的にメールのフィルタはGmailで設定していますが、細かい設定はThunderbirdでのフィルタのほうが便利です。

というわけでGmailのフィルタとThunderbirdのフィルタを併用しています。

が、Thunderbirdのメッセージフィルタは、受信トレイに入ってきたメールのみ自動で適用されるという仕様になっており、そこが悩みの種でした。

この問題を回避する方法も、ありました。

http://d.hatena.ne.jp/Rockridge/20100111/1263175543

about:configで

mail.server.default.applyIncomingFilters = true

以上。

これでまたさらに快適な環境に、、、なったと思いきや、まだ受信トレイのメールにしかフィルタが適用されてません。なぜだろう。。。

上記ページの元ネタであるhttp://blog.mozilla.com/bcrowder/を見てみたところ、

(It’s important that the key be a string), and you’ll get filtration in all of your IMAP folders.


と書いてあるのを見つけました。
真偽型じゃなくて文字列型じゃないといけないそうです。「true」って書いてあったので条件反射で真偽型にしてました。しかも、よくみたら日本語ページのほうにもちゃんと「文字列型で」と書いてありますね。

というわけで、改めて文字列型で設定しなおしたところ、無事フィルタが受信トレイ以外でも適用されるようになりました。

2011年5月8日日曜日

Gmailの迷惑メールフィルタを無効化する

自分はGmailアカウントからGmailアカウントへメールの転送をしています。
仮に転送元のGmailアカウントをA、転送先のアカウントをBとします。

困ったことに、Aでも迷惑メールフィルタが有効になっていて、たまに大事なメールがBに転送されない、ということが起こっていました。

が、Gmailには迷惑メールを無効にするという設定が存在しません。

これは困った、、、と思ってググったら、回避策が見つかりました。

http://www.nilab.info/zurazure2/000960.html

アカウント設定での転送は使わず、フィルタで全メールを転送させるというやり方です。なるほどなるほど。

さっそく自分の環境にも導入し、問題は解決。一件落着です。


*2012/2/28追記
この方法、Gmail側が仕様変更したようで、使えなくなってました。
http://groups.google.com/a/googleproductforums.com/forum/#!topic/apps-ja/hIxfpp_50l0

仕方ないのでフィルタでの転送はやめ、今は通常のメール転送機能を使ってます。

うまくやれば今まで通りフィルタで転送できるかもしれませんが、今のところ決定打はないようです。
https://groups.google.com/a/googleproductforums.com/forum/#!category-topic/gmail-ja/wEdYXTzG2Eg

2006年3月10日金曜日

Smartyのアウトプットフィルタを使ってみる

ウェブサイト(UTF-8)の登録フォームを携帯端末(SJIS)にも対応させるのをやろうと思い、Smartyのアウトプットフィルタを使ってみた。

こんな感じ
$smarty->register_outputfilter("filterSjis");
function filterSjis($buff, &$smarty)
{
return mb_convert_encoding($buff,"SJIS","UTF-8");
}


プリフィルタとポストフィルタはテンプレートに記述されている文字列を変換するだけで、DBなどから動的に出力する文字列には効かない。アウトプットフィルタの場合はブラウザへ出力する直前のデータをフィルタしてくれる。

これで無事解決。。。。と思ったのだけれど、このままでは出力されるヘッダがUTF-8のままのため、文字化けが発生してしまう。さて、どうしたもんか、、、と思いつつGoogleで調べてみたら「ini_set("default_charset", "Shift_JIS");」を入れれば解決できることがわかった。

これが最終形
$smarty->register_outputfilter("filterSjis");
ini_set("default_charset", "Shift_JIS");
function filterSjis($buff, &$smarty)
{
return mb_convert_encoding($buff,"SJIS","UTF-8");
}