タグ「Mail」が付けられているもの

もうすぐWindowsXPのサポートが終わろうとしているにもかかわらず、パソコンの入れ替えでXPにWindows Liveメールを入れようと、検索でヒットしてインストールしたら英語版だった。

日本語版は普通に検索で見つけるのが大変だったので今後のためにメモ。

上記のURLからダウンロードすると日本語版がインストールできます。

パソコンの入れ替えなどでメールのバックアップや復元でインポート・エクスポートを繰り返すと過去のメールが重複しまくってしまい、整理に困ります。メールクライアントは主にOutlook(ExpressじゃないOfficeの方)を使用しています。重複メールを削除したり検索したりする機能はOutlook 2010以降じゃないとないみたいです。

いちいちクリックして作業するのは面倒なので、いい方法がないか探したところ、Outlookに重複メールを削除するアドインがありました。

重複メールを削除するアドイン

POPで受信したローカルの受信トレイのみ対応で、IMAPなどの受信トレイには対応していないようです。使い方は以下のページを参考にしてください。

IMAPの受信トレイを整理する場合は、IMAPの受信トレイのすべてのメールを個人用フォルダの受信トレイに移動させ、重複を削除したあとにIMAPの受信トレイに戻すという方法も使えます。

 

Outlook重複アイテムリムーバー(ODIR)

こちらはIMAPフォルダにも対応していました。実行後は受信トレイの中に重複メールを「ODIR_Duplicate_Items」というフォルダーに移動してくれています。ただし、件名とサイズと時間で重複を判別しているようで、中身までは比較していないため、完全ではないようです。

使い方は、ダウンロードしたファイルでインストールすると、Outlookのメニューに「ODIR」というメニューが出てくるので、その中の「Remove Duplicate Items」を選択し、表示された画面よりメールフォルダー(文字化けしてる)を選択し、「Remove Duplicate Items」というボタンを押すと重複メールの仕訳が始まります。

最近、メインのメーラーをWindowsメールからOutlook.comに乗り換えました。ただ、メールを作成するためにいちいちブラウザを立ち上げたり、メールアドレスを入力しないといけないなどが面倒ですが、「デフォルトWebメーラー」が解決してくれて、使い勝手をよくしてくれます。

デフォルトWebメーラー

ウィンドウズの既定のメールソフトを変更するソフトで、これを使えば「mailto:」が設定されているリンクをクリックすると、ブラウザの起動からOutlook.comのメールフォームの表示までやってくれます。

しかも、GmailやYhahooメールを含め、使えるWEBメールの種類が豊富で、IEかChromeか使うブラウザも指定できます。

Outlook.comを使う場合は「Windows Live Hotmail」を選択します。

Chromeでもちゃんと使えるけど、Outlook.comなんで、なんとなくIEにしてみた。

これでMAILTOプロトコルで使う既定のメールソフトはOutlook.comにできました。

しかし、問題はMAPIMAIL経由でローカルアプリケーションからWEBメールのフォームを呼び出すことができません。結局Windows7やVistaはローカルで使うメールソフトが必要ということなんですね。

フォームに入力された内容をPHPのmb_send_mailでメールの送信をしようと、以下のようなスクリプトで送信したらmb_encode_mimeheaderで指定した文字が文字化けしました。

<?php
mb_language("Ja") ;
$to = mb_encode_mimeheader("A様","iso-2022-jp")."<a@aaa.com>";
$subject = "◯◯の件について";
$subject = mb_convert_encoding($subject,"iso-2022-jp","auto");
$content = "A様\nこの度はありがとうございました。\nBより";
$content = mb_convert_encoding($content,"iso-2022-jp","auto");
$from = "From:".mb_encode_mimeheader("差出人B","iso-2022-jp")."<b@bbb.com>";
mb_send_mail($to,$subject,$content,$from);
?>

これで送信したら、以下のようなメールが届きました。

From: 綏??坂査鐚 <[email protected]>
To: 鐚≧? <[email protected]>
件名: ◯◯の件について
本文:
A様
この度はありがとうございました。
Bより

原因

サーバーの内部エンコーディングとmb_encode_mimeheaderで使う文字は同じエンコーディング同士じゃないと文字化けするようです。今回の環境では以下のエンコーディングとなっています。

  • 内部エンコーディング:EUC-JP
  • フォームの入力値:UTF-8
  • メール送信:ISO-2022-JP

対処方法

  • 内部エンコーディング:EUC-JP
  • フォームの入力値:EUC-JP
  • メール送信:ISO-2022-JP

となるように、mb_encode_mimeheaderに使う文字列を内部エンコーディングに合わせて『EUC-JP』にしてみました。

<?php
mb_language("Ja") ;
$to = mb_convert_encoding("A様","euc-jp","auto");
$to = mb_encode_mimeheader($to,"iso-2022-jp")."<a@aaa.com>";
$subject = "◯◯の件について";
$subject = mb_convert_encoding($subject,"iso-2022-jp","auto");
$content = "A様\nこの度はありがとうございました。\nBより";
$content = mb_convert_encoding($content,"iso-2022-jp","auto");
$from = mb_convert_encoding("差出人B","euc-jp","auto");
$from = "From:".mb_encode_mimeheader($from,"iso-2022-jp")."<b@bbb.com>";
mb_send_mail($to,$subject,$content,$from);
?>

すると正常なメールが届きました。

From: 差出人B <[email protected]>
To: A様<[email protected]>
件名: ◯◯の件について
本文:
A様
この度はありがとうございました。
Bより