使用 PHPMailer 时看不到邮件日志,但如果我使用简单的 php mail() 函数,我可以看到日志
Can't see mail log when using PHPMailer but if I use simple php mail() function i can see log
php.ini
mail.log = "c:/wamp/logs/maillog.log"
PHPMailer_Email.php
(使用下面的脚本,它不会在指定的文件中写入日志,而是发送电子邮件。)
include 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Host = "domain.example.net";
$mail->Port = 25;
$mail->From = $from;
$mail->FromName = "From Name";
$mail->addAddress($to);
$mail->addReplyTo($from, "Reply");
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = $body;
if(!$mail->send()){
echo "Mailer Error: ". $mail->ErrorInfo; die();
}
else{
echo "Message has been sent successfully";
}
Email.php (使用下面的脚本,它写日志并发送电子邮件)
mail($to, $subject, $body);
谁能建议我如何让 PHPMailer 在 maillog.log 文件中写入邮件日志?
您的本地日志文件是针对您的本地邮件服务器的,但您是直接发送到外部服务器,因此它不会通过您的本地服务器,所以没有什么可记录的。如果您想捕获调试输出并记录它,请查看 Debugoutput
属性 提供的选项 - 您可以注入一个可调用对象并将其保存在您喜欢的任何位置,如下所示:
$mail->DebugOutput = function ($str, $level) {
file_put_contents(
'/path/to/log/file',
date('Y-m-d H:i:s') . "\t" . $str,
FILE_APPEND | LOCK_EX
);
};
php.ini
mail.log = "c:/wamp/logs/maillog.log"
PHPMailer_Email.php (使用下面的脚本,它不会在指定的文件中写入日志,而是发送电子邮件。)
include 'vendor/autoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Host = "domain.example.net";
$mail->Port = 25;
$mail->From = $from;
$mail->FromName = "From Name";
$mail->addAddress($to);
$mail->addReplyTo($from, "Reply");
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $body;
$mail->AltBody = $body;
if(!$mail->send()){
echo "Mailer Error: ". $mail->ErrorInfo; die();
}
else{
echo "Message has been sent successfully";
}
Email.php (使用下面的脚本,它写日志并发送电子邮件)
mail($to, $subject, $body);
谁能建议我如何让 PHPMailer 在 maillog.log 文件中写入邮件日志?
您的本地日志文件是针对您的本地邮件服务器的,但您是直接发送到外部服务器,因此它不会通过您的本地服务器,所以没有什么可记录的。如果您想捕获调试输出并记录它,请查看 Debugoutput
属性 提供的选项 - 您可以注入一个可调用对象并将其保存在您喜欢的任何位置,如下所示:
$mail->DebugOutput = function ($str, $level) {
file_put_contents(
'/path/to/log/file',
date('Y-m-d H:i:s') . "\t" . $str,
FILE_APPEND | LOCK_EX
);
};