Windows Vista , Windows 7 , WindowsLiveメールにおけるHTMLひな形の問題点とひな形の作成・配布の方法いついて

前置き

VistaもWindows 7もXPまでにできていたようなProgram Filesフォルダ下に圧縮ファイルを解凍させることが難しくなりました。HTML形式のひな形を素材を含めて圧縮した場合に、解凍先の指定が難しく、特にフルパス指定しなければならないBGSOUNDタグによるサウンドつきのひな形では、フルパスで指定されているフォルダに解凍させることができません。

Windows 7には、WindowsメールやOutlookExpressに代わるメールソフトが付属せず、HTMLひな形に利用できるメールソフトは実質Windows Liveメール(無料)をダウンロードして使うことになります。これが曲者でHTML形式のひな形を上手く利用できないばかりか、HTML形式のひな形を適用した場合に、bodyやimgのidが書き換わる・bgsoundタグは削除される・bodyのpaddingが書き換わる・bodyのnameが書き換わるなどの問題点を含んでいます。

Windows Liveメールは、XPやVistaでも利用できますが、HTML形式のひな形を適用させるとフリーズしてしまうことが多く、実質HTML形式のひな形を利用することが困難です。
※Windows 7で利用する場合はフリーズこそしませんが、やはりidの書き替わりとbgsoundタグが消える問題があるため、単純にHTML形式のひな形を適用させることは困難です。

CSSでiセレクタを使用して<style>〜〜</style>で表示体裁を施している場合も、「スタイルシートはインラインで書かれた方が優先される」ので、注意してください。やはりスクリプトで書き換えることで対処しましょう(DOMではスクリプトでCSSの内容を後から変更できます)。

回避策として

VistaのWindowsメールやWindowsLiveメール用のひな形を作成するより良い方法は、EML形式にしてしまうことです。EML形式であれば、WindowsLiveメールで開くことができますし、解凍先に苦慮する必要もありません。XPやVistaでWindowsLiveメールを利用する場合でも、EML形式の場合はフリーズしません。更にimgタグのidが書き替わることもなく、BGSOUNDタグも消えません。

但し「EML形式のひな形をWindowsLiveメールで開くと、bodyタグのidが置き換わってしまう。という問題bodyのapddingが書き換えられる問題は回避できませんので、この対策はしておかなければなりません。

bodyタグのidが書き替わると困る場合の対策

WindowsLiveメールではbodyタグのidが必ず id="MailContainerBody" となります。もしbodyのidを参照するようなスクリプトやTIMEの動作に関わるものが含まれていると、このidを使用するように書き換えておくか、スクリプトでbodyのidを書き換える工夫が必要になります。

例えば、

<t:animate targetelement="img1" begin="body1.click" attributename="left" from="100" to="200" />

のようなTIMEアニメーションがある場合、body1は本来bodyタグのidなのですが、書き替わるために動作しません。そこでこのbegin="body1.click"begin="MailContainerBody.click"と改めるか、MailContainerBodyをbody1に変更するスクリプトが必要になります。

スクリプトでidをbody1に変更するソースは次のようになります。

<SCRIPT LANGUAGE="JSCRIPT">
document.body.setAttribute("id","body1")
</SCRIPT>

このソースをbodyタグのすぐ後ろに入れておけば、body1がそのまま利用できるようになります。

idがbody1ではない場合はそれに合わせてソースを変更してください。

<BODY id="doc1" >
の場合は、
<SCRIPT LANGUAGE="JSCRIPT">
document.body.setAttribute("id","doc1")
</SCRIPT>
のようになります。

bodyのidを利用するかどうかわからないひな形の場合は、とりあえず入れておきましょう。

bodyタグのpaddingが書き替わると困る場合の対策

WindowsLiveメールではbodyタグのpaddingが設定されている/以内に関わらず、必ず PADDING-BOTTOM:0px; PADDING-LEFT:10px; PADDING-RIGHT:10px; PADDING-TOP:15px に設定されてしまいます。

これもスクリプトで変更してしまえば対処できます。

<SCRIPT LANGUAGE="JSCRIPT">
document.body.setAttribute("id","body1")
body1.style.padding="0px"
</SCRIPT>

上記の場合は左右上下すべてが0pxになります。

特定のpaddingだけを修正する必要がある場合は、paddingLeft paddingRight paddingTop paddingBottom を使用します。

例)

<SCRIPT LANGUAGE="JSCRIPT">
document.body.setAttribute("id","body1")
body1.style.paddingLeft="40px"
body1.style.paddingTop="50px"

</SCRIPT>

EMLひな形作成の実際

まずはHTML形式のひな形で、bodyのid書き換わり対策bodyのpadiing書き換わり対策をしておきます。

Outlook ExpressやWindows メールでEMLひな形を作成する場合

「メッセージ」^「ひな形」-「ひな形の選択」から、EMLひな形にしたいHTML形式のひな形を選択します。

メッセージの作成画面になったら、「ファイル」-「名前をつけて保存」で、デスクトップほかどのフォルダでも構わないので、適当な名前をつけて保存します。

これだけでEMLファイルタイプのひな形(未送信メッセージ)が出来上がります。

Windows 7の場合

Windows 7ではOutlook ExpressやWindowsメールが利用できませんので、Windows Live メールを利用しなければなりません。

先に述べたように、Windows Live メールでは、HTML形式のひな形をそのまま適用させると問題が生じますので、直接Windows Live メールでHTML形式のひな形を適用させる方法は使えません。

この場合はInternet Explorerで一旦HTML形式のひな形を表示させておき、Internet Explorerの表示しているページを電子メールで送信する機能を用います。

まずInternet Explorerから電子メールで送信を実行した時に、Windows Live メールによって開かれるようにするために、Windows Liveメールを既定のメールハンドラに設定しておかなければなりません。これはWindows Live メールしかインストールされていない場合は、通常Windows Live メールが既定のメールハンドラになっていると思いますが、BeckyやEdMax、Shuriken ProやThunderbirdなど他のメールソフトがインストールされている場合には、Windows Live メールが既定のメールハンドラになっていない場合があります。

この既定のメールハンドラにする設定は以下のようにします。

Windows Live メールを起動し、「ツール」-「オプション」-「全般」タブにある「既定のメッセージング プログラム」部分を確認します。

「このアプリケーションは規定のメールハンドラーではありません。」となっている場合には、その右にある「既定に設定」ボタンを押して「OK」で閉じます。

これでWindows Live メールが既定のメールハンドラになりました。

EMLひな形にしたいHTML形式ひな形をInternet Explorerで開きます。

「ページ」-「このページを電子メールで送信」を実行します。この時Windows Live メールのメッセージ作成(送信メッセージの編集)画面になればOKです。

件名には「電子メールで送信: ページタイトル.htm」のような件名が自動的に付けられますが、これは書き直すか空白にしておきましょう。

「ファイル」-「名前をつけて保存」で、適当な場所に保存します。これでEML形式のひな形ができました。

EMLひな形を配布する場合の注意点

作成したEMLファイルには作成者のメールアドレスと作成日時がヘッダに入っています。メールアドレスを公開してしまうことにもつながりますので、このヘッダ情報は削除しておきましょう。

作成したEMLファイルをメモ帳などのテキストエディタで開きます(EMLファイルはテキストファイルです)。

先頭にあるFrom行、三行目のDate行は完全に削除し、上書き保存します。

こうしてできたEMLファイルをアップロードしてダウンロードできるようにします。EML拡張子のままアップしても構いません。そこ場合は「右クリック」-「対象をファイルに保存」というステップでダウンロードしてもらうことになります。左クリックではEMLファイルがInternet Explorerで開いてしまうことがあるからです。

あるいは、EMLファイルをzipやlzh、自己解凍形式のexeなどに圧縮してアップロードしても良いでしょう。EMLファイルの場合は解凍先がどこであっても構わないため、予め解凍先を指定しておく必要もなくなります。

最後になりますが、EMLひな形はOutlookExpressやWindows メールでも利用可能です。

このことは、EML形式で配布すればどのメーラーにも使えることを意味します。

但し、EML形式は内容がすべてテキストデータですのでファイルサイズが大きくなります。またEMLひな形を利用する側はEMLひな形をダブルクリックして開く必要があり、保管するフォルダへのアクセスや管理が面倒という欠点もあります。


ひな形を配布する参考例

説明:

@サムネイル画像をクリックすると、ひな形をプレビューできます。

ADownloadをクリックして実行させると、解凍先=>C:\Program Files\Common Files\Microsoft Shared\Stationery\TAXI\フォルダの中として、ひな形が作成されます。OutlookExpressで、ひな形の選択から利用ください。

BDownloadをクリックして実行させると、解凍先未指定で解凍されるようになります。EML形式ですので、解凍先は問いません。わかりやすい場所に整理できるように解凍先を指定してください。できたひな形をダブルクリックすると、ひな形の作成画面として利用できます。

C記号について
・by○・・・bodyのidをスクリプトで対策をしているもの。Windows Live メールでもHTML形式が利用できます。利用方法備考参照。
・bd○・・・bgsoundのidをスクリプトで対策しているもの。サウンドは「書式」-「背景」-「サウンド」から付け直すことができます。
・♪・・・サウンドがついているもの

Dサイズはダウンロードしたファイルのサイズで、解凍後のサイズではありません。

説明

サムネイル
クリックすると、ひな形を見ることができます。

HTML形式のひな形
OutlookExpress用

EML形式のひな形
WindowsメールやWindows Limeメール用
OutlookExpressにも使えます。

対策

--

by○ bd○ ♪

by○ bd○ ♪

VMLを利用してペンで描画します。描画後に落葉が積もっていくひな形です。

MIDIはつけなおしできますが、無しにするとエラーになります。

Download

130 KB (133,924 バイト)

Download

163 KB (167,073 バイト)

 利用方法備考:あまりお勧めしません。

HTML形式のひな形をVistaやWindows7で使う場合、解凍先を変更してから解凍してください。これらのOSではProgram Files下に解凍できません。
HTML形式のひな形をWindowsメールやWindowsLiveメールで使用する際は、音楽は「書式」-「背景」-「サウンド」から選んで付け直してください。
WindowsLiveメールの場合は、HTML形式のひな形をそのまま適用させることができません。InternetExplorerで表示させてから「電子メールで送信」機能を使用して利用ください。

EML形式のひな形の保存場所や整理・管理は利用者の方で行ってください。解凍場所は問いませんが、どこかに一元管理できる「EMLひな形」などのフォルダを作成しておき、そこに作者別に解凍させるなどの処置を行います。この「EMLひな形」フォルダのショートカットをデスクトップなどに作っておけば、EMLひな形フォルダへのアクセスが簡単になります。

Stationeryのありか 参考(一般的なPCの場合)

Windowsメールの場合=>C:\Users\ユーザー名\AppData\Local\Microsoft\Windows Mail\Stationery

Windows Live メール(Vista , Windows 7)の場合=>C:\Users\ユーザー名\Documents\My Stationery  ・・・「ひな形」と表示されるフォルダ

Windows Live メール(XP)の場合=>C:\Program Files\Windows Live\Mail\Stationery

OutlookExpressの場合=>C:\Program Files\Common Files\Microsoft Shared\Stationery