- 新しい順
- 投票が多い順
- コメントが多い順
ご質問の内容より、メールの送信に、AWS SDK for PHP [1] からの SendEmail [2] API、あるいは CakePHP からの SMTP リクエスト、をご利用ではないか、と推察しております。
回答
AWS SDK for PHP をご利用の場合
PHP において、TLS v1.2 を使用するには、PHP 上で適切な HTTP クライアント設定を使用する必要があります。 コード例が資料 [3] にございますので、ご参考になれば幸いです。
資料 [3] より:
Guzzle 6 で TLS 1.2を設定する例:
use Aws\DynamoDb\DynamoDbClient;
use Aws\Handler\GuzzleV6\GuzzleHandler;
use GuzzleHttp\Client;
$handler = new GuzzleHandler(
new Client([
'curl' => [
CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1_2
]
])
);
$client = new DynamoDbClient([
'region' => 'us-west-2',
'version' => 'latest',
'http_handler' => $handler
]);
CakePHP から SMTP のリクエストをご送信されている場合
CakePHP のリリースノートを確認いたしましたところ、TLS v1.2 のサポートは CakePHP 3.5.5 で追加された [4] ものと認識しております。 そのため、お客様の CakePHP 3.4.13 では TLS v1.2 が使用不可である可能性がございます。
資料 [4] より: <<-- Network\Socket now supports explicit use of TLS1.1 and 1.2. Support for SSL2 is deprecated and will be removed in 4.0.0. -->>
また、資料 [4] によると CakePHP 3.5.5 でサポートが追加されたのは、TLS v1.2 を使用するための明示的なオプションとの記載がございます。 そのため、CakePHP 3.5.5 にてオプションの指定が必要であると存じますので、ご留意ください。
さらに、CakePHP のコード [5] を確認しましたところ、使用される TLS のバージョンは、PHP のバージョンにも依存があるようでございました。 よって、PHP のバージョンについてもご確認いただけますと幸いです。
Windows に関する補足
なお、補足ではございますが、Windows 上で TLS 1.2 の有効化に、.NET Framework の更新、及びレジストリの設定、が必要となる場合もございますので、ご留意ください。 詳細は資料 [6], [7] にございますので、必要に応じてご確認ください。
参考情報
[1] AWS SDK for PHPバージョン 3 とは - AWS SDK for PHP
https://docs.aws.amazon.com/ja_jp/sdk-for-php/v3/developer-guide/welcome.html
[2] SendEmail - Amazon Simple Email Service
https://docs.aws.amazon.com/ja_jp/ses/latest/APIReference/API_SendEmail.html
[3] http_handler - AWS SDK for PHPバージョン 3 の設定 - AWS SDK for PHP
[4] CakePHP 3.5.5 Released — Bakery
https://bakery.cakephp.org/2017/11/01/cakephp_355_released.html
[5] Add support for specific TLS versions. · cakephp/cakephp@5b6b990 · GitHub
https://github.com/cakephp/cakephp/commit/5b6b990c1506849d6b20e82c22bcac012e1436f2
[6] SSL/TLS プロトコル バージョンの有効化と無効化 | Microsoft Japan Windows Technology Support Blog
[7] .NET Framework でのトランスポート層セキュリティ (TLS) のベスト プラクティス - .NET Framework | Microsoft Learn
https://learn.microsoft.com/ja-jp/dotnet/framework/network-programming/tls
資料 [4], [5], [6], [7] につきましては、外部資料となっておりますため、AWS として正当性は保証しておりません、予めご了承ください。
関連するコンテンツ
- AWS公式更新しました 2年前
- AWS公式更新しました 1年前
ご回答ありがとうございます。 CakePHP から SMTP のリクエストを送信してメールを送信しています。 質問内容を更新しましたので、改めまして、ご確認・ご回答頂けますと幸甚です。