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は利用可だった。
関連記事
- 
					
													  
- 
					PHPでファイルを添付してメールを送信する方法(PHPMailer)PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ... 
- 
					
													  
- 
					PHPMailerでエラーメッセージを日本語で出力する方法PHPMailerのGitHubページを見ていると言語設定についての案内を見つけ ... 
- 
					
													  
- 
					Mailtrap & PHPMailerでメールサーバ無しの環境でもメール送信テストを行う方法開発環境等メールサーバが無い環境でメール送信テストを行う際にMailtrapとい ... 
- 
					
													  
- 
					PHPMailerを使ってメールをSMTP送信する方法(Composer無し)PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ... 
- 
					
													  
- 
					PHPMailerでエンベロープFrom(Return-Path)を指定する方法同じメールアドレスから送信したメールがmb_send_mail関数だと受信できる ...