MAPIでのメール送信で文字化けの解消するには?


ミルキースター  2007-03-24 19:14:18  No: 98378

こんにちは。

  MAPIを利用してのメール送信をしているのですが、一部の受信者で文字化けが発生する
という現象が起きています。

  <送信者の環境>
    OS: Windows XP SP2
    Mail: Outlook Express 6
    送信: VB6で作成したexeよりMAPI送信

  <受信者の環境>
    OS: Windows XP
    Mail: Outlook Express 6

  <ソース>
      Do
        With mapMess
          .Compose
          .RecipAddress = Rs!EMail
          .MsgSubject = Rs!Subject
          .MsgNoteText = Rs!NoteText
          .Send False
        
        End With
        
        Rs.MoveNext
      Loop Until Rs.EOF Or Rs.BOF

    ※ フォームに MAPIセッションとメッセージのコントロールを貼っている。


  exeより実行すると Outlook Express の送信トレイ(直ちに送信はしていない)
に入るようになっているのですが、これらのメールヘッダの一部分をみてみると、

  Content-Type: text/plain;
    charset="iso-2022-jp"
  Content-Transfer-Encoding: quoted-printable

となっており、またメール本文は、

  =1B$B!!!Z!!>0EM=1B(

と暗号化されているような本文になっています。
(他のエンコード形式なっている??)


  Outlook Express の送信のオプションを次のように設定しています。

*==========================================================*

[オプション]−[送信]タブの[エンコードの設定]

  規定のエンコード:日本語(JIS)
    メッセージの返信に英語のヘッダを使用する:チェックする

[オプション]−[送信]タブの[メール送信の形式]

    テキスト形式を選択

[オプション]−[送信]タブの[テキスト形式の設定]

  メッセージ形式:MIME
  エンコード方法:なし
  8ビットの文字をヘッダに使用する:チェックしない

*==========================================================*


  只、Send メソッドで False から True (送信ダイアログを1件ずつ表示する)に
変更してみて、実行してみると、

  本文の文字化けは解消をし、メールヘッダは次のようになります。
(只、件名(Subject)は空白であるので、やっぱりおかしいが。)

  Content-Type: text/plain;
    format=flowed;
    charset="iso-2022-jp";
    reply-type=original
  Content-Transfer-Encoding: 7bit


  プログラミングのレベルではなくここで質問させて頂くのはお門違いかもしれませんが、
何かご存知の方が居られましたら、お知恵を貸して頂けないでしょうか。
宜しくお願いします。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加