*

【VBScript】CDO.Messageでメール送信 文字化け

公開日: : 最終更新日:2015/01/12 Windows , , , ,

VBScriptでメール送信のプログラムを作ってみたら

日本語が文字化けになってしまった。

↓文字化けしてしまったソース。


Dim oMsg
Set oMsg = CreateObject("CDO.Message")

'メール送信方法
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'SMTPサーバーのアドレス
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxx.co.jp"
'SMTPサーバーのポート
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update

'差出人メールアドレス
oMsg.From = "差出人<xxx@xxxx.co.jp>"
'あて先メールアドレス
oMsg.To = "受取人<yyy@yyyy.co.jp.>"
'件名
oMsg.Subject = "メール件名"
'本文
oMsg.TextBody = "メール本文"

oMsg.Send

しかも、すごい限定的に。
Windows8.1
Windows7
Windows Vista
Windows Storage Server 2008

では文字化けせずに問題なかったのに、

Windows Storage Server 2008 R2

だけなぜか。。。

ですが、解決しました。上記のソースに
「oMsg.TextBodyPart.Charset = “ISO-2022-JP”」
を加えることで、文字化けせずに送信できました。

↓Windows Storage Server 2008 R2でも文字化けしないソース


Dim oMsg
Set oMsg = CreateObject("CDO.Message")

'メール送信方法
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
'SMTPサーバーのアドレス
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "xxxx.co.jp"
'SMTPサーバーのポート
oMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMsg.Configuration.Fields.Update

'送信文字コード
oMsg.TextBodyPart.Charset = "ISO-2022-JP"
'差出人メールアドレス
oMsg.From = "差出人<xxx@xxxx.co.jp>"
'あて先メールアドレス
oMsg.To = "受取人<yyy@yyyy.co.jp.>"
'件名
oMsg.Subject = "メール件名"
'本文
oMsg.TextBody = "メール本文"

oMsg.Send

無印の Windows Storage Server 2008 では大丈夫なのに、なぜ!!!!

Adsense

関連記事

データベース

【SQL Server 2012 Express】Windows Server 2012にインストールしてみる

Windows Server 2012にSQL Server 2012をインストールしてみる。 以

記事を読む

データベース

【SQL Server 2012】Management Studioでサンプルデータベース(mdfファイル)をアタッチ

以前、Windows Server 2012にMicrosoftR SQL ServerR 2012

記事を読む

Windows

【共有フォルダ】上位フォルダからの継承アクセス権の個別削除

またまた共有フォルダのアクセス権で新しい発見をしたので、書きとめておこうと思います。 今まで必要な

記事を読む

Windows

【Active Directory のグループ ポリシー】Windows VISTAでスクリーンセーバーが動かない。

会社でハマッたことを記録として残しておこうと思います。 うちの職場では Windows2003 s

記事を読む

Windows

【Windows7/VISTA】オーディオデバイスがインストールされていません。

「パソコンから音が出なくなった」 という問い合わせをうけました。 端末を確認すると… 「有

記事を読む

Windows

【Internet Explorer】Windows7のデスクトップのIEがダブルクリックをしても起動しない。

「デスクトップにあるIEをダブルクリックしても起動しない。」 とヘルプデスクで依頼がありました。

記事を読む

Windows

【Windows】仕事で使うキーボードのショートカット

ちょっと前の話。 いつも忙しい忙しいと言ってる建築関係の仕事をしている先輩から電話がかかってきた。

記事を読む

Windows

【Windows VISTA/7の標準のZIPファイル】圧縮/解凍のアイコンがおかしい。

「ZIPファイルが開けない」 ファイルをダブルクリックすると、ワードが起動してエラーになる。 こ

記事を読む

Windows

【Windows】シャットダウンがフリーズ(固まる)してしまう。

シャットダウンするとそのまま固まってしまう。 結論から書くと、 ユーザープロファイルの削除 

記事を読む

Windows

【共有フォルダ】アクセス権の新発見

本日、仕事で依頼があってファイルサーバー(Windows2008)のアクセス権を新たに設定していまし

記事を読む

Adsense

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

Microsoft Office
【Access】削除クエリの「指定されたテーブルから削除できませんでした。」の対処法

削除クエリで「指定されたテーブルから削除できませんでした。」と ポッ

Microsoft Office
【PowerPoint】表や図形、画像オブジェクトの位置をピッタリ合わせる方法

パワーポイントで、図形や画像等のオブジェクトの細かい位置調整は、 完

データベース
【SQL Server】Excel VBAのレコードセットを使ってテーブルの一括更新

前々回は読み取り専用でレコードセットへ取得し、結果をエクセルへ書き出し

application
【Visual Studio】デバック、ブレークポイントで止まらない。

Visual Studio 2015でVB.netのプログラムをデバッ

データベース
【SQL Server】Excel VBAでSELECT文を実行してレコードセットへ取得

前回は、テーブルのレコードをVBAで直接更新(Insert/updat

→もっと見る

PAGE TOP ↑