タイトル | : VB2005から携帯メールへの送信について |
記事No | : 7252 |
投稿日 | : 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ボ椒螢后淵魅鵐船礇」 といった感じで化けてしまいます。
これを、正常に表示できるようにしたいのですが、 何か問題点の心あたりはありませんでしょうか?
ご協力をお願いいたします。
以上
|