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);
}
- Linuxサーバを楽に引っ越す際のヒント
- google adsense で儲ける方法
- AmazonFireTVをUSBメモリに録画する方法
- 応用プログラミング演習Ⅰのヒント
- さくらのVPSのubuntuにLAMP環境をインストール
- WEBサイトHowTo
- エレクトロハーモニクス
- 漢字書き順表示WEB
- Windows11 削除できないファイル・フォルダを削除
- STM32 Nucleo Boardで電子サイコロ
- STM32 Nucleo BoardでGPIO
- STM32 Nucleo BoardでLED点滅
- STM32F103でマイコン遊び
- windows11のエクスプローラのクイックアクセスを復活させる方法
- iCloud写真でjpg画像をダウンロードできない
- Acrobatが遅い時に見る記事
- Wordpress サイト・ヘルスチェック
- imgur:既にアップロードした写真を既存のpost(Album)に入れ…
- 無料SSL Let's EncryptでWordpressサイトをSSL化する-Ubuntu版
- [ubuntu]ドメイン購入からWordpress設定までの全工程解説
- WordPressのメール送信が遅い時のトラブルシューティングとGmai…
- ドコモ携帯が海外でネット接続できなくなるトラブル・パケット…
- R Studio 統計分析システムの導入方法
- Let's Encrypt revoke & サイト消去 @ubuntu
- paiza.ioのjavaプログラムにコマンドライン引数を与える方法2選
- PHP - Ajaxでリアルタイムチャットなど
- PHPMailer導入とトラブル対策
- Netflixの音声をHome Pod mini で再生できない
- wordpress二段階認証の注意点など
- Wordpressの保存ができない・オートセーブを完全に停止する
- ブラザー・レーザープリンタ HL-317CDW リセット
- 動画配信のトラブル対処(ブーンというノイズが乗る)
- 無料SSL Let's EncryptでWordpressサイトをSSL化する-centos版
- 一番簡単なCentOS PHP7.3から7.4への移行方法
- 一番わかりやすいBracketsの導入とトラブルシューティング
- パソコンへのLinuxの導入
- WordPressを多言語化する
- Wordpressの投稿一覧画面から要らない項目を削除する
- VisualStudio2013にあったセットアッププロジェクトを戻す!
- Visual Studioで使うSSHの秘密鍵をputtygenで作成する方法
- PHPMailerのログ出力をSyslogにする
- Open Graph HTML手書きのウエブサイトをSNSでシェアできるよう…
- MacBookProにBootcampでWindows10を入れる際のポイント
- Let's Encryptのトラブルシューティング
- 無料SSL Let's EncryptでWordpressサイトをSSL化する
- client denied by server configuration
- CentOs8 インストール後にすべきことメモ
- C# でWindowsサービスの「説明」を取得する方法
- C# NotifyIconの実装
- 【Windows10】ホテルのWiFi接続時にWiFiのログイン画面が出ない…