ヒアドキュメントに差し込む

$insert = "差し込み文章";

$body = <<< EOM
<!DOCTYPE>
<html lang="ja">
<head>
</head>
<body>
Look!<br>
<strong style="color:red;">apple</strong><br>
<img src="http://hpscript.com/app/apple.jpg">
{$insert}が入ります。
</body>
</html>
EOM;

レンダリングがおかしなことになってる。

続いてmysqlですね。

mb_send_mailで画像を送信

$body = <<< EOM
<!DOCTYPE>
<html lang="ja">
<head>
</head>
<body>
Look!<br>
<strong style="color:red;">apple</strong><br>
<img src="http://hpscript.com/app/apple.jpg">
</body>
</html>
EOM;

画像を置いてるパスを指定すれば、問題なく送信できます。
これはS3でもいいですね。

$body = <<< EOM
<!DOCTYPE>
<html lang="ja">
<head>
</head>
<body>
Look!<br>
<strong style="color:red;">apple</strong><br>
<img src="http://hpscript.com/app/apple.jpg">

<audio id="audio" preload="auto">
   <source src="http://hpscript.com/app/0.mp3" type="audio/mp3">
   <p>※ご利用のブラウザでは再生することができません。</p>
</audio>
<input type="button" onclick="audioPlay()" value="再生">
<input type="button" onclick="audioPause()" value="停止">
</body>
</html>
EOM;

mp3だと再生されないようです。
さあ、次は、

phpでHTMLメールの送信

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・クロスサイトスクリプティング対策か。。

円を三つ書きます
続いて、effectのfree distort

ドラックして調整
形がおかしいですね。

Amazon RDS

What is Amazon RDS?

Amazon Relational Database Service (Amazon RDS) is a web service that makes it easy to setup, operate, and scale relational databases in the cloud. It allows you to create and use MySQL, PostgreSQL, Oracle, or Microsoft SQL Server databases. This means the code, applications, and tools you already use today with your existing databases, can be used with Amazon RDS.

Elastic Load Balancer

https通信でも使っていますが、ELB
概念図

Amazon Elastic Load Balancer
An Amazon Elastic Load Balancer (Amazon ELB) is a service that automatically distributes incoming application traffic across multiple Amazon EC2 instances. It enables you to achieve even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic. Elastic Load Balancing detects unhealthy instances within a pool and automatically reroutes traffic to healthy instances until the unhealthy instances have been restored.

select instance

load balancer 負荷分散

なるほど~

Amazon EBS

What is Amazon EBS?

Amazon Elastic Block Store (Amazon EBS) provides persistent block level storage volumes for use with Amazon EC2 instances in the AWS Cloud. Each Amazon EBS volume is automatically replicated within its Availability Zone to protect you from component failure, offering high availability and durability. Amazon EBS volumes offer the consistent and low-latency performance needed to run your workloads. With Amazon EBS, you can scale your usage up or down within minutes – all while paying a low price for only what you provision.

ec2にアタッチ

modify volume

Route53

Amazon Route 53
Amazon Route 53 is a highly available and scalable cloud Domain Name System (DNS) web service. It is designed to give developers and businesses an extremely reliable and cost effective way to route end users to Internet applications by translating names like www.example.com into the numeric IP addresses like 192.0.2.1 that computers use to connect to each other, often using a process called recursion.

CNAME Record
A Canonical Name record (CNAME) is a type of resource record in the Domain Name System (DNS) used to specify that a domain name is an alias for another domain, the “canonical” domain. All information, including subdomains, IP addresses, etc. are defined by the canonical domain.

Canonical Domain
Canonical Domain is another name for the CNAME DNS record type. The CNAME record is used to create an alias for the canonical domain.

Alias Record
Alias resource record sets provide an Amazon Route 53 specific extension to DNS functionality. Instead of an IP address or a domain name, an alias resource record set contains a pointer to a CloudFront distribution, an ELB load balancer, an Amazon S3 bucket that is configured as a static website, or another Amazon Route 53 resource record set in the same hosted zone. When Amazon Route 53 receives a DNS query that matches the name and type in an alias resource record set, Amazon Route 53 follows the pointer and responds with the applicable value.

Resource Record Set
Resource record sets are the basic information elements of the domain name system. Each record set includes the name of a domain or a subdomain, a record type, and other information applicable to the record type.

The Name Server (NS) Resource Record Set
Amazon Route 53 automatically creates a name server (NS) resource record set when you create a new hosted zone with the same name as your hosted zone. It lists the four name servers that are the authoritative name servers for your hosted zone. Do not add, change, or delete name servers in this resource record set.

For Example:

  • ns-2048.awsdns-64.com
  • ns-2049.awsdns-65.net
  • ns-2050.awsdns-66.org
  • ns-2051.awsdns-67.co.uk

Health check