tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB2005から携帯メールへの送信について
記事No7252
投稿日: 2008/03/25(Tue) 21:31
投稿者たー
現在、VB2005(クリックワンスで配信)で、
クライアント側で入力したメール内容をWEBサービスを経由して
送信するというAPを作成しております。

そのAPで携帯へのメールの送信で問題が発生しておりまして、
できれば皆様のお力をお借りしたいと思います。
宜しくお願いいたします。

早速ですが、

@問題点
 携帯電話へのメールの添付ファイル(クライアントで指定する)で、
 ファイル名が日本語を含んでいる場合に、
 受信した携帯でファイル名を見ると、
 文字化けが発生してしまう。
 
 ※PCで受信した場合は問題が無い。

A現状

 @タイトル・本文については、
  エンコードをISO2022JPにすることで解決済み

 A添付のファイル名をISO2022JPにすると、
  PCで受信した場合は問題ないが、
  携帯で受信した場合にファイル名が文字化けしてしまう。

B現状のソース(抜粋)

    Private Sub sendMal(ByVal Attach_Name As String, ByVal Attach As System.IO.Stream)

        Dim Msg As System.Net.Mail.MailMessage = Nothing
        Dim Attachment As System.Net.Mail.Attachment

        'JISコードに設定
        Dim enc_JIS As System.Text.Encoding = System.Text.Encoding.GetEncoding(50221) 'csISO2022JP

        Dim sb As New StringBuilder
        Try


            Msg = New System.Net.Mail.MailMessage()
            Msg.Body = "**件名**"
            Msg.BodyEncoding = enc_JIS
            Msg.Subject = EncodeMailHeader("**タイトル**", enc_JIS)
            Msg.To.Add(New System.Net.Mail.MailAddress("to@******"))
            Msg.From = New System.Net.Mail.MailAddress("from@******")

            '添付ファイルが指定されていたら
            If Attach_Name <> "" Then

                Attachment = New System.Net.Mail.Attachment(Attach, Attach_Name)

                'enc_JISを使用して、エンコードの指定をしているが、NG
                Attachment.NameEncoding = enc_JIS
                Msg.Attachments.Add(Attachment)
            End If

            mailer.Send(Msg)

        Catch ex As Exception
            Throw
        End Try

    End Sub

C上記ソースで送信したメールのヘッダー(添付ファイル部分の抜粋)

----boundary_2_aa43b771-8d67-4d8c-b612-f9fa87de0c74
content-type: application/octet-stream; name="=?iso-2022-jp?Q?=1B$B%\\%j%9%V%i%&%s=1B(B.jpg?="
content-transfer-encoding: base64
※実際のファイル名は「1ボリスブラウン.JPG」のような名前を指定しております。

D携帯で受信したときのファイル名

 「1ボ椒螢后淵魅鵐船礇」
 といった感じで化けてしまいます。

これを、正常に表示できるようにしたいのですが、
何か問題点の心あたりはありませんでしょうか?

ご協力をお願いいたします。

以上

[ツリー表示へ]