わかる、なるほどなIT知識。n=e.querySelector(".line-numbers-rows"),r=parseInt(e.getAttribute("data-start"),10)||1,s=r+(n.children.length-1);tドメインと変える、サイトの価値。Protocol)でHTML形式の電子メールについて、及び実際にHTML形式の電子メールをメールソフトを使わず送信する方法の紹介です。電子メール送信に関するプロトコルである「SMTP」はインターネット・プロトコルの主要な一つです。Teamsなどのビジネスチャット・SNSのインスタントメッセージツールがテキストコミュニケーションの中心に移行しつつありますが、まだまだ電子メールは今でも主要な通信手段です。Protocol)が作られました。シンプルなプロトコルと思われがちですがわりと複雑な仕様となっています。RFCで規定されるSMTP関連の標準仕様はほぼ2000年までに制定されました。HTML形式で使うMIME関連の仕様も規定されています。【SMTP関連のインターネット標準RFC通信規約】SMTPに関連するRFCは多いですが、1982年にRFC822で規定され、2008年にRFC5321としてアップデートされています。Extensions)形式が整備され、同じく1993年に漢字コード(ISO-2022-JP)が規定され、日本語の扱いが標準化されています。NotificationsHTML形式のメールは1999年には既にRFC2557のMIME関連で規定されています。今では、HTML形式で送信されているメールは多く、メールクライアントによっては知らない間にHTML形式で送信されます。敬遠されがちだったHTML形式のメールですがHTML形式で送信されているメールはどれ程あるでしょうか?筆者の使っていたメールアカウントでメールを保管している過去メール(2000年~2017年)を調べてみると、2005年から急速に増えています。※送信元の重複は除きます。筆者のインターネット上での活動量によるメールの年間のメール総受信量にも左右されますが、概ね2005年ごろからHTML形式のメールが増加しているようです。メールマガジンや企業からのダイレクトメールが多い。・ホームページのように表現できるので、画像を自由に配置でき、文字の大きさや色の変更も自由に設定できるので視覚的に内容が伝えやすい。文字だけのテキストメールよりも表現力に富んで読まれやすくなります。従って、ビジネスメールよりもメールマガジンや企業からのお知らせ等に多用されています。・メール内のURLリンクにパラメータを埋め込むことによって受信者のアクセスの解析にも使うことができる為、メールでのマーケティングに向いています。・HTML形式のメールを読まない受信者がいる。HTML形式のメールを拒否している受信者や受信してもテキストで読む受信者がいます。メールクライアントによってはHTMLのレンダリングが上手く行かず崩れる場合もあり、読み飛ばす受信者も少なからずいます。送信者側の対策として、TEXTパート(テキスト本文)とHTMLパート(WEB画面)の両方をマルチパートで送る方法で、テキストだけ読む受信者にも対応しているメールも多い。・HTML形式のメールの作成には、HTMLを記述する知識が必要となります。同時配信するには面倒です。最近のメール配信システムでは専用のWEB上でのエディタが付属しており、テンプレートを利用すれば容易に作成し、送信することができるようになっています。・メールサイズが大きくなってしまう。画像をインラインで添付するとその分メールサイズが大きくなり、サーバに負荷をかけます。受信者のメールボックスの容量も圧迫することになるだけでなく、画像もダウンロードしなければならず受信に時間がかかります。画像をリンク形式でサーバ上のファイルを指定した場合は、メールクライアントの種類によって画像部分は受信者が指示しない限り読み込まないものもあります。・スパムメールに利用される。これが一番厄介なのですが、メールクライント中でホームページ風に表示するとURLリンク等は直ぐに騙せてしまいます。何も知らない受信者の場合は、それを開けてクリックし詐欺サイトへ誘導されてしまうことになりますので、注意が必要です。HTML形式で普段知らないところか来たメールは、必ずテキスト文で表示して確認することを習慣づけることが大切です。以上のようなデメリットはありますが、レスポンシブデザインやマルチパート配信に対応したメールであれば受信者の環境に合わせて有効なメールを配信できます。PHPでのHTML形式のメール送信方法メールでHTML形式で送るにはどうしたら良いでしょうか?メールクライアントにHTML形式のエディタが付いていればそれを利用してレイアウトすれば良く、簡単だと思われます。貴方が広報としてHTML形式でレイアウトされたメールを一斉に一万人の会員に送りたい時はどうすれば良いでしょうか?HTML形式でレイアウトできるメール配信サービスを利用するのが容易で管理もしやすいです。なんらかのシステムと連携してその情報を自動でHTML形式でメール送信したい場合はどうでしょうか?エンジニアであればサーバを利用できてphpを扱えるなら以下のコードで画像付きHTML形式のメールを送れます。スクリプト組めば一斉送信可能となります。Content="text/html;charset=Shift_JIS"></head><body><h1>HTMLメールのテスト</h1><p>HTMLメールのテストです。src="./twitter.jpg"></p><p>↑は添付の画像です。height="40"><p>↑はURLリンクされた画像です。$body);?>PHPでのサーバ上のプログラムではPEARのMailパッケージをインクルードすれば上述のコードのようにメールプロトコルは気にすることはなくHTMLを記述したファイルとimgタグに指定している画像を添付すれば容易に送信できます。昔から「HTMLメールは危険です」と言われ続けています。実際HTMLメールのスパムメールは2005年から拡大し続けています。当時はビジネスメールにHTMLメールは使わないように勧められていました。現在に至っても、HTML形式のスパムメールは非常に多く、テキスト形式で表示させないとURLリンクは詐欺サイトを見抜けないような巧妙なメールもありますので要注意です。カスタマー側からはWEB形式の綺麗な画面表示で送ることが可能でユーザへのアピールにもなり、有用であることには間違いありません。画像付きHTML形式のメール構造は以下のように5種類のパターンがあります。添付ファイルここで注意しなくてはならないのが、text/html中で記載されるimgタグに関してです。(ユニークID)を指定し、cid:~始まるユニーク値を指定する必要があります。src属性にContent-IDを"cid:"に追加して記述する必要があるのです。(ユニークID)を気にすることなく、送信時に内部で自動的に書き換えてくれますので、作成者はHTML記述に専念できます。筆者作成のWindows用のコマンドライン送信専用の電子メールクライアントで送信に特化したシステムに組み込み用のツールです。SMAILは1998年にバージョン1.0をリリースしてから55回のアップデートを重ねてきました。XOAUTH2)、opensslを利用してSSL接続も対応してきました。HTML形式の送信は今年の4月まで未実装でした。業務システムで発生する多種なメッセージの送信用の組み込みに使われ、HTML形式での送信の要望は過去ちらほらあったのですが、対応はペンディングとしておりました。ここ数年、要望がまた増えてきた為、バージョン5.0で対応しました。バージョン5.0で容易にHTML形式のメールを送信できるようになりましたのでご紹介いたします。自由にスクリプトを組んでHTML形式のメールを送信できるようになります。※SMAILアプリのダウンロードはこちらです。SMAILはHTML形式のメール構造のパターン4に対応しています。※パターン4でインラインオブジェクト画像に該当しない場合はメールクライアント側で添付ファイルとして認識されます。この場合はメールクライアント次第で仕様外となりますが、大抵添付ファイルとして扱ってくれます。【SMAILの実行方法】WINDOWSのコマンドラインからの実行は下記のようになります。※詳細なオプションパラメータの内容はSMAILアプリ同梱のREAD.MEを参照してください。本文ファイル・TEXTパートが代替え本文.txtでメール受信時の本文の内容となります。添付ファイル・HTMLパートがindex.htmlでメール受信時のWEB画面です。alt=""/>で記述している場合、添付ファイルにcube.pngを指定します。src="cid:735622385671A0CX2">のように変換されます。735622385671A0CX2はメール内で適当なユニークな値をSMAILで付与されます。※画像は何枚でも可能です。※CSSは添付ファイルにせずHTML内に埋め込む必要があります。デバッグモード(送受信内容を表示する)※パスワード関連は****の様に自動的に伏字になります。設定情報を表示する以上のコマンドで作成者は普通にホームページを作る要領で生成したHTMLを添付するだけで送信できます。SMAILで実際に送信した画面が以下です。htmlファイルは通常quoted-printable形式でエンコードするのが一般ですが、SMAILではbase64形式でエンコードしています。htmlファイル自身の文字コードは何でも良いですが、html中のMETAタグにcharsetで文字コードを記載してください。ない場合はメールクライアントによって文字化けする場合があります。実際の受信内容は以下のようになります。・メールクライアント:Gmail(WEB)・メールクライアント:Becky!・TEXTパート・HTMLパートBecky!では、TEXTパート、HTMLパートを個別に見ることができます。Gmail(WEB版)ではTEXTパートは表示されません。このように、WINDOWSのコマンドラインからSMAILを使うことによってHTML形式でメールを送信することができ、スクリプト(BAT,VBS)を組めば一斉送信も可能となります。※一斉送信する場合は、相手メールサーバで単位時間あたりの送信に制限されている場合もあります。この場合は送信間隔を空けるかマルチ処理して複数処理するなどの検討が必要です。WINDOWSで構築されたシステムから自動でHTML形式のメールを送信されたい方はコマンドライン型のSMAILを呼び出すことで自由に送信できますのでぜひお使いください。※SMAILの詳細な使い方はhttps://www.picolix.jp/free/soft/SMAIL-HTML-MAIL.pdfを参照してください。】のcomドメイン新規登録割引やドメイン・サーバー同時契約でドメイン更新費用永久無料!(年間最大3,124円お得)などお得なキャンペーン実施中です。お得なこの機会にご利用ください!最新のキャンペーンはこちらから※ユーザーノートの記事は、弊社サービスをご利用のお客様に執筆いただいております。メーカーで制御器系システム開発を経てIT系マルチエンジニアをしています。デザイン思考を実践し、アート思考などのいろんな思考方法に興味があります。レンタルサーバーや、SSL証明書などを提供するドメイン・ホスティング総合サービスです。