vagrantから送信します。
<?php mb_language('Japanese'); mb_internal_encoding("UTF-8"); $header_info="From: admin@example.com"."\nContent-Type: text/html;charset=ISO-2022-JP\nX-Mailer: PHP/".phpversion(); $body = <<< EOM <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Language" content="ja"> <meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>sample</title> <meta http-equiv="Content-Style-Type" content="text/css"> </head> <body> hogehoge<br> <strong>Hello</strong> </body> </html> EOM; print $body; mb_send_mail("hoge@career.com",'test',$body,$header_info); ?>
hotmail、携帯のキャリア どちらにもhtmlメールで到着しますね。
bodyのEOMのところを(1)HTML5で送りたい、(2)CSSでスタイリングしたい、(3)動画を送りたい、(4)MySQLから引っ張て来て送信したい
html5でも問題ありません。
$body = <<< EOM <!DOCTYPE> <html lang="ja"> <head> </head> <body> engineer<br> <strong>meet up</strong> </body> </html> EOM;
例えば、インラインスタイルでも
$body = <<< EOM <!DOCTYPE> <html lang="ja"> <head> </head> <body> engineer<br> <strong style="color:red;">meet up</strong> </body> </html> EOM;
大丈夫ですね。
次は、youtubeのiframe、画像、mp3で行きましょう。
$body = <<< EOM <!DOCTYPE> <html lang="ja"> <head> </head> <body> today's Video<br> <strong style="color:red;">Michael Jackson - Thrillers</strong> <iframe width="200" height="150" src="https://www.youtube.com/embed/sOnqjkJTMaA" frameborder="0" allowfullscreen></iframe> </body> </html> EOM;
iframeだと上手く表示されません。何故でしょう。mail boxはserver上なので、headerが問題でしょうか?
XSS・クロスサイトスクリプティング対策か。。