AWS SDK for PHP を使ってメール送信
Amazon SES を初めて使ったのでメモ。
regionがAsia Pacific (Tokyo)
の場合は制限があるみたいなので注意。
最大送信量 | 1日あたりの送信割り当て |
---|---|
1秒あたり1通 | 24時間あたり200通 |
前提¶
- AWS SDK for PHPがインストール済みであること
- インストール方法
- Amazon SES でVerified済みのメールアドレスがあること
コード¶
<?php
require 'vendor/autoload.php';
$client = new \Aws\Ses\SesClient([
'version' => 'latest',
'region' => 'ap-northeast-1',
'credentials' => [
'key' => 'hogehoge',
'secret' => 'fugafuga',
],
]);
$from = 'from@example.com'; // Amazon SESでVerifiedしたメールアドレス
$to = 'to@example.com';
$charset = 'UTF-8';
$subject = '件名';
$body = '本文';
$result = $client->sendEmail([
'Destination' => [
'ToAddresses' => [$to],
],
'ReplyToAddresses' => [$from],
'Source' => $from,
'Message' => [
'Body' => [
'Text' => [
'Charset' => $charset,
'Data' => $body,
],
],
'Subject' => [
'Charset' => $charset,
'Data' => $subject,
],
],
]);
// 送信ID
$messageId = $result['MessageId'];
echo "Email send. Message ID: {$messageId}\n" ;
HTML形式で送信したい場合は、Text
をHtml
にすればOK。