Contents
PHPMailerのログ出力をSyslogにする
PHPからメールを送信する際に便利なPhpMailerですが、デフォルトではログがHTML画面上に出力されてしまいますので具合が悪いです。そこで今回は、PHP Mailerのデバッグ出力をSYSLOGで出す方法を解説します。
コード
百聞は一見にしかずなので、まずは該当部分のコードを見ていきましょう。
$mail->Debugoutput = function($str, $level) { syslog(LOG_ERR, "PHP Mailer:" . $str); };
これだけです♬ 簡単ですね。
一応動作確認できたソースを掲載
一応、動作確認で使ったコードを掲載しておきます。GmailのSMTP経由で送っていますので、事前にウエブブラウザでGmailにログインし、メニューの「Sign-in & security」 から 「Apps with account access」を選択し、その画面の下のほうの「Allow less secure apps:」 をONにしておかないと送信できません~。
require_once("PHPMailer-5.2-stable/PHPMailerAutoload.php" ) ; $param = Array() ; $param["subject"] = "タイトル"; $param["body"] = "メール本文"; $param["from_name"] = "送りぬし様"; $param["from_addr"] = "sample-source@gmail.com"; $param["smtp_username"] = "sample-source@gmail.com"; $param["smtp_password"] = "sample-pass"; $param["to_addr"] = "sample@sample-source.com"; $param["to_name"] = "あて先さま"; sub_send_mail( $param ) ; // **************************************************************************** // テキストメールの送信 // **************************************************************************** function sub_send_mail($params) { $mail = new PHPMailer(); $mail->Debugoutput = function($str, $level) { sub_logwrite("PHP Mailer:" . $str); }; $mail->IsSMTP(); $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; $mail->CharSet = 'utf-8'; $mail->SMTPSecure = 'tls'; $mail->Host = "smtp.gmail.com"; $mail->Port = 587; $mail->IsHTML(false); $mail->ContentType = 'text/plain'; $mail->Username = $params["smtp_username"]; $mail->Password = $params["smtp_password"]; $mail->SetFrom($params["from_addr"], $params["from_name"]); $mail->addReplyTo($params["from_addr"]); $mail->Subject = $params["subject"]; $mail->Body = $params["body"]; $mail->AddAddress($params["to_addr"],$params["to_name"]); if( !$mail->Send() ) { return false; // Error } return true ; } // **************************************************************************** // SYSLOGを出力する // **************************************************************************** function sub_logwrite($log) { syslog(LOG_ERR, $log); }
spankyjpnビデオライブラリー
Spankyjpn Youtube Video Library
このカテゴリのページリンク |
同一カテゴリの記事一覧
- 【テクニカル】WordPressを多言語化する
- 【テクニカル】CentOs8 インストール後にすべきことメモ
- 【テクニカル】一番簡単なCentOS PHP7.3から7.4への移行方法
- 【テクニカル】パソコンへのLinuxの導入
- 【テクニカル】Open Graph 手書きのウエブサイトをSNSでシェアできるよう…
- 【テクニカル】C# NotifyIconの実装
- 【テクニカル】一番わかりやすいBracketsの導入とトラブルシューティング
- 【テクニカル】無料SSL Let's EncryptでWordpressサイトをSSL化する
- 【テクニカル,未分類】【Windows10】ホテルのWiFi接続時に「インターネット接続…
- 【テクニカル】Let's Encryptのトラブルシューティング
- 【テクニカル】C# で Task を使う
- 【テクニカル】MacBookProにBootcampでWindows10を入れる際のポイント
- 【テクニカル】PHPMailer導入とトラブル対策
- 【テクニカル】PHPMailerのログをSYSLOGに出力
- 【テクニカル】Visual Studio 2017で使うSSHの秘密鍵をputtygenで作成す…
- 【テクニカル】Wordpressの投稿一覧で要らない項目を削除する方法
- 【テクニカル】Google SEO の要点 - Better Google SEO
- 【テクニカル】wordpressを始める前に絶対すべき準備 - Things you need …
- 【テクニカル】Wordpress URL設定間違い・サイト移動のトラブル対応 - Ho…
- 【テクニカル】VisualStudio2013セットアッププロジェクトを戻す! - Vis…
- 【テクニカル】C# でWindowsサービスの「説明」の文を取得する方法 - C# …
- 【テクニカル】動画配信に最低限必要なモノ(動画配信環境)
- 【テクニカル】動画配信のトラブル対処(ブーンというノイズが乗る)
- 【テクニカル】client denied by server configuration: