*

【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

関連記事

Windows

【Windows】ユーザーのプロファイル削除方法

仕事のPCは、使いまわしたりするからユーザープロファイルがたまって、あまり使っていないのにCドライブ

記事を読む

Windows

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

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

記事を読む

Windows

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

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

記事を読む

Windows

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

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

記事を読む

Windows

【Windows 8.1】でDVDの再生できない?

結論から言うと、そのままのWindows8、8.1ではDVD ムービーの再生機能がないため、見れない

記事を読む

Windows

【Windows 2012】Windows Server バックアップ スナップインが作成できませんでした。

職場のWindows Server 2012のWindows Server バックアップが突如起動し

記事を読む

データベース

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

以前、Windows Server 2012にMicrosoftR SQL ServerR 2012

記事を読む

Windows

【Windows2012】全てのプログラムの表示/キーボードショートカット

Windows8.1(Windows Blue)からはスタートボタンが復活するそうですね。 でも、

記事を読む

Windows

【システムの起動時間】Windowsのシステム起動時間を調べる

Windows系OSのシステム起動時間を調べる。 あまり家のパソコンでは気にしないところですが、仕

記事を読む

Windows

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

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

記事を読む

Adsense

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 ↑