メールを送るときにHTMLメールのソースを直接書く方法 Outlook編
HTMLメールはきれいに送ることができていい。たいがいは、phpなどでWeb上でsmtpに渡して送るケースが多いと思うが、
この間、通常のPCメールソフトOutlook2013でHTMLのソースを書いたものを直接送りたいケースがあった。
そのとき、ふと、あれ???どうするんだ?
となった。
普通にメール新規を立ち上げて、本文にソースを書いても、それがそのまま送られてしまうだけ。
Outlook2013でどうやってHTMLソースを編集したらいいんだ???
となった。
ここでは、その方法について、備忘録として記録しておく。
内容は、Outlook2010でも確認済みで問題ない。
が、他のバージョンではテストしていない。
これをするには、OutlookのVBAマクロを利用することでできる。
①まず、標準ではVBAを利用できるようにはなっていないので、使えるようにする。
メニュー(リボン)の空欄のところで、右クリック。
⇒「リボンのユーザー設定」
もしくは、
「ファイル」⇒「オプション」⇒「リボンのユーザー設定」
②リボンの追加
③開発タブができる
④VBAエディタを開く
⑤VBAエディタでコードを書く場所を開く
「Project1」⇒「Microsoft Outlook Objects」⇒「ThisOutlookSession」
⑥次のコードを書く
Sub HTMLEdit() Dim objShell As Object Dim objFso As Object Dim strFileName As String Dim stmFile As Object Set objShell = CreateObject("WScript.Shell") Set objFso = CreateObject("Scripting.FileSystemObject") strFileName = objShell.ExpandEnvironmentStrings("%temp%\") & objFso.GetTempName() Set stmFile = objFso.CreateTextFile(strFileName, True) stmFile.WriteLine ActiveInspector.CurrentItem.HTMLBody stmFile.Close objShell.Run "%windir%\notepad " & strFileName, , True Set stmFile = objFso.OpenTextFile(strFileName, 1) ActiveInspector.CurrentItem.HTMLBody = stmFile.ReadAll stmFile.Close objFso.DeleteFile strFileName End Sub
⑥デジタル署名を追加する
通常はセキュリティのため、署名のないVBAマクロは無効になっている。
Outlookのセキュリティ設定を変更することで、すべてのマクロを警告つきで実行できるようになるが、
セキュリティのことを考えるとあまりお勧めできない。
まずは、自分のデジタル署名を作る。
(Windows 7での仕方)
A.「スタート」⇒「すべてのプログラム」⇒「Microsoft Office」⇒「Microsoft Office ツール」」⇒「VBAプロジェクトのデジタル証明書」
これで、「デジタル証明書の作成」ダイヤログボックスが表示される。
※これが見つからない場合には、インストールオプションで選択されていなかった場合があるので、追加インストールするか、
次のフォルダで、[selfsert.exe]ファイルを探してみるといい。
C:\Program Files (x86)\Microsoft\OfficeOffice15\selfsert.exe
B.「証明書の名前」ボックスに、証明書のわかりやすい名前を入力。
C.「OK」をクリック。
D.「SelfCert 成功」というメッセージが表示されたら、「OK」をクリック。
デジタル署名の準備ができたら、次は作ったVBAマクロのコードにデジタル署名を追加する。
先ほどのVBA Editにて、
「ツール」⇒「デジタル署名」⇒「選択」
で、作成したデジタル署名を追加。
⑦これで準備完了。メール作成に戻って、マクロの実行
「新しい電子メール」⇒「開発」⇒「マクロ」⇒「Project1.ThisOutlookSession.HTMLOject」([.HTMLOject]は作ったマクロの名前によって変わる)
⑧HTMLメールのソース編集
これでHTMLメールのソースがテキストエディタで開くので、
ここで編集するればよい。
保存して、エディタを閉じれば、メール本文にHTMLの内容が表示される。
以上である!
文責:牧秀樹
この記事へのコメントはありません。