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は利用可だった。
関連記事
-
PHPMailerでエラーメッセージを日本語で出力する方法
PHPMailerのGitHubページを見ていると言語設定についての案内を見つけ ...
-
PHPMailerを使ってメールをSMTP送信する方法(Composer無し)
PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...
-
Mailtrap & PHPMailerでメールサーバ無しの環境でもメール送信テストを行う方法
開発環境等メールサーバが無い環境でメール送信テストを行う際にMailtrapとい ...
-
SendGridを使ってメールサーバを構築せずにPHPからメールを送信する方法
メールサーバを構築せずに独自ドメインのメールアドレスにてメール送信を行いたい。過 ...
-
PHPMailerでエラーメッセージ及びデバッグログの表示方法について
PHPMailerでエラーメッセージ及びデバッグログを表示させたいというケースが ...