*

【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

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

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

記事を読む

Windows

【Windows Server 2008】共有フォルダ

仕事でのお話。 会社で新システムをリリースするための準備としてNASの領域縮小を行ったのですが…

記事を読む

Windows

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

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

記事を読む

Windows

【Windows インストーラー】動作を停止し、インストールできない。

Windows8.1で何かプログラムをインストールしようとして、setup.exe等を実行すると

記事を読む

Windows

【Windows】ドメインに接続できません。と表示され、ログオンできない

ドメインに接続できません。ドメイン コントローラがダウンしているか利用できない状態になっている、

記事を読む

Windows

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

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

記事を読む

データベース

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

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

記事を読む

Windows

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

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

記事を読む

Windows

【IE7】初期ページを設定しているのに、変更できない。

いまさらIE7(笑)と思う方も多いかもしれませんが… 職場なんかだと使ってるとこが意外に多いん

記事を読む

Windows

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

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

記事を読む

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 ↑