ユーザ用ツール

サイト用ツール


プログラム言語:php:phpmailer

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
プログラム言語:php:phpmailer [2019/06/27 17:08]
yusuke_komori 作成
プログラム言語:php:phpmailer [2020/03/24 11:49] (現在)
humolife
行 1: 行 1:
 ====== PHPMailer ====== ====== PHPMailer ======
 +  * [[https://github.com/PHPMailer/PHPMailer|GitHub]]
 +  * [[https://phpmailer.github.io/PHPMailer/classes/PHPMailer.PHPMailer.PHPMailer.html|ドキュメント]]
 ===== インストール ===== ===== インストール =====
 Composer を使ってインストールします。\\ Composer を使ってインストールします。\\
行 18: 行 20:
  
 use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\PHPMailer;
 +use PHPMailer\PHPMailer\Exception;
  
 // true を渡すと例外処理が有効になる // true を渡すと例外処理が有効になる
行 25: 行 28:
     // デバッグ用     // デバッグ用
     $mail->SMTPDebug = 3;     $mail->SMTPDebug = 3;
-    $mail->Debugoutput = 'error_log';+    $mail->Debugoutput = 'error_log';    // echo | html | error_log
 } }
  
行 34: 行 37:
     $mail->Port = 587;    // ポート     $mail->Port = 587;    // ポート
     $mail->SMTPAuth = true;    // SMTP認証     $mail->SMTPAuth = true;    // SMTP認証
-    $mail->SMTPSecure = 'tls'; // 認証の種類+    $mail->SMTPSecure = 'tls'; // 認証の種類(465:ssl、587:tls)
     $mail->AuthType = 'LOGIN'; // 認証タイプ     $mail->AuthType = 'LOGIN'; // 認証タイプ
     $mail->Username = 'XXXX'; // 認証ユーザ     $mail->Username = 'XXXX'; // 認証ユーザ
行 45: 行 48:
  
     $mail->addAddress($mail_to_01);     $mail->addAddress($mail_to_01);
 +    $mail->addReplyTo($reply_to);
     $mail->Subject = $mail_subject_01;     $mail->Subject = $mail_subject_01;
     $mail->Body = $mail_body_01;     $mail->Body = $mail_body_01;
行 51: 行 55:
     // 宛先のアドレスをクリア     // 宛先のアドレスをクリア
     $mail->clearAddresses();     $mail->clearAddresses();
 +    // 返信先のクリア
 +    $mail->clearReplyTos();
  
     $mail->addAddress($mail_to_02);     $mail->addAddress($mail_to_02);
行 60: 行 66:
     echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";     echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
 } }
 +</code>
 +===== SSL証明書の検証エラー =====
 +自己署名証明書を使っている場合、SSL接続の証明書の検証で「SMTPホストに接続できませんでした。」などといったエラーが出ることがあります。
 +この場合、以下のように SMTPOptions を設定することで検証を回避することが可能です。
 +<code>
 +$mail->SMTPOptions = [
 +    'ssl' => [
 +        'verify_peer'       => false,
 +        'verify_peer_name'  => false,
 +        'allow_self_signed' => true
 +    ]
 +];
 </code> </code>
プログラム言語/php/phpmailer.1561622883.txt.gz · 最終更新: 2019/06/27 17:08 by yusuke_komori