PHPMailerでメールを送信する際にTLS / SSL暗号化させる方法
PHPMailerでメールを送信したところGmailで確認すると赤い鍵のようなアイコンが表示されていた。内容を確認すると送信時にメールが暗号化されておらず、メールの安全性が保証されていないというものらしい。以下にPHPMailerでの暗号化方法のメモ。
PHPMailerの用意
今回はcomposerは使わず以下からダウンロードした。
https://github.com/PHPMailer/PHPMailer
「PHPMailer.php」のみアップロードする。
ソースコード
<?php mb_language('japanese'); mb_internal_encoding('UTF-8'); $to = 'to@test.com,to2@test.com'; $from = 'from@test.com'; $from_name = '送信者'; $now = new DateTime(); $subject = 'タイトル'; $message = '本文'; $mail = new PHPMailer\PHPMailer\PHPMailer(); $mail->CharSet = 'UTF-8'; $mail->Encoding = 'base64'; //暗号化 $mail->SMTPSecure = 'tls'; //tls or ssl $mail->setFrom($from, $from_name); //toを分割してループでaddAddressに追加 $to = explode(',', $to); for( $i = 0; $i < count($to); $i++){ $mail->addAddress($to[$i]); } $mail->Sender = $from; $mail->Subject = $subject; $mail->Body = $message; $return = ( $mail->Send() ) ? true : false; var_dump($return);
注意点
サーバによっては対応してないところがあるかも。今回テストしたのはKAGOYAサーバでSSLは利用不可、TLSは利用可だった。
関連記事
-
SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法
メールサーバを構築せずに独自ドメインのメールアドレスにてメール送信を行いたい。過 ...
-
PHPでHTMLメールを送信する方法(PHPMailerあり無しの2パターン)
PHPでHTMLメールを送信したい。また、メール関連の機能を実装する際は環境によ ...
-
PHPでメール送信時に返信先(Reply-To)を指定する方法
PHPにてメールを送信し、そのメールに対して返信しようとすると通常は送信元のメー ...
-
【2024年版】PHPMailerでGmailのSMTPサーバを経由してメールを送信する方法
だいぶ前に同じようなことをメモしたが、そちらの方法だと送信できずエラー内容を見た ...
-
PHPMailerでエンベロープFrom(Return-Path)を指定する方法
同じメールアドレスから送信したメールがmb_send_mail関数だと受信できる ...