※ ChatGPTを利用し、要約された質問です(原文:CDOMailで本文テキストの文字コード指定)
CDOMailで本文テキストの文字コード指定
このQ&Aのポイント
CDOMailを使用してWEBページのテキストを取り込み、携帯あてメールで転送する際に文字化けする問題が発生しています。
質問者は文字コードの指定方法について知りたいと思っており、StrConv関数を使用してJIS-2022-JPの文字コードに変換する方法が良いと考えています。
現在のコードではCDOMailの設定やSMTPサーバーの情報を指定してメールを送信しており、HTML形式の本文テキストを使用しています。
WEBページのテキストを取り込んで、携帯あてメールで転送するのですが、今まで、文字コードを意識せず使っていたのですが、YAHOO.BBの携帯(グーグルNEXUS5)に送ると 文字化けします。
一番簡単な文字コード指定の方法は無いでしょうか?ネットでは保存されたファイルの変換等のサンプルは有るのですが、
StrConv関数の使い方的な方法でJIS-2022-JP(これで良いハズ?)に化けてくれると良いのですが・・・
今のコードは
SendMail oObjDoc.documentElement.outerHTML ’web取り込み
Public Sub SendMail(txt As String)
Dim CDOMail As Variant
Dim STUl
'On Error Resume Next
Application.DisplayAlerts = False
Set CDOMail = CreateObject("CDO.Message")
CDOMail.From = ConfigForm.TxtSendAddr.value
CDOMail.To = ConfigForm.TxtDesMailAddr.value
If Len(sTitle) > 0 Then
CDOMail.Subject = sTitle
Else
CDOMail.Subject = ConfigForm.TxtTitle.value
End If
'CDOMail.TextBody = txt
CDOMail.HtmlBody = txt
'CDOMail.AddAttachment ThisWorkbook.FullName
STUl = "http://schemas.microsoft.com/cdo/configuration/"
With CDOMail.Configuration.Fields
.Item(STUl & "smtpserver") = ConfigForm.TxtSendServer.value
.Item(STUl & "smtpserverport") = ConfigForm.TxtPort.value
.Item(STUl & "sendusing") = 2
.Item(STUl & "smtpauthenticate") = 1
.Item(STUl & "sendusername") = ConfigForm.TxtSendUser.value
.Item(STUl & "sendpassword") = ConfigForm.TxtSendPwd.value
.Item(STUl & "smtpconnectiontimeout") = 60
.Update
End With
CDOMail.Send
Application.DisplayAlerts = True
End Sub
お礼
感謝 文字化けは ヤフー.bb それも NEXUS5 だけかもしれません。(それ以外報告が無い、でも と飲める使ってる人がいないのかも? ) また、サブジェクトに 半角全角 混合文字列でも PC内の自作テキストは OKなのです。 本文のみ、IEで 文字列取り込んだのが ダメなのです。 でも、charset の指定まで、知りませんでした。おそらくこれで 解決と思います。
補足
どうも、送信側の問題じゃ、なく、ネクサス5 の メール機能のバグのようです。 送信先を PCにして、PCでは文字化けなく ネクサス5 で そのPCサーバーのメールを見ると 文字化け。他のメールソフト K9? これで、PCメール見ても同じ。