PHPMailer - Troubleshooting Using Debug Logging


Overview

This KB article explains how you can enable debug logging with the PHPMailer to troubleshoot SMTP mail sending problems.

The PHPMailer is used in Nagios Fusion and Nagios XI for sending emails using SMTP. If your system is configured for Sendmail then this KB article does not apply to you.

 

Enable Debug Logging

To enable debug logging you need to edit the class.phpmailer.php file and define the following:

public $SMTPDebug = 4;

By default the value is set to 0.

The following commands will make that change for you:

Nagios Fusion

cd /usr/local/nagiosfusion/html/includes/utils/phpmailer/
sed -i 's/public \$SMTPDebug.*/public \$SMTPDebug = 4;/g' class.phpmailer.php

Nagios XI

Older OS versions:

cd /usr/local/nagiosxi/html/includes/phpmailer/
sed -i 's/public \$SMTPDebug.*/public \$SMTPDebug = 4;/g' class.phpmailer.php

Newer OS versions: 

To enable debug logging you need to edit the utils-email.inc.php file and define the following:
// $mail->SMTPDebug = 4;
By default the value is commented out. We need to initially uncomment.

cd /usr/local/nagiosxi/html/includes/
sudo sed -i 's|// \$mail->SMTPDebug = 4;|\$mail->SMTPDebug = 4;|' utils-email.inc.php


If the value has previously been uncommented and set to 0 (disabled), use the below command to set the value to 4 (enabled).

sed -i s/'mail->SMTPDebug = 0;'/'mail->SMTPDebug = 4;'/1 /usr/local/nagiosxi/html/includes/utils-email.inc.php

 

 

Proceed to the next section to view the debug output.

 

View Debug Output

To view the debug output you need to send a test email.

Nagios Fusion

Open the Nagios Fusion web interface and navigate to Admin > System Configuration > Email Settings.

Click the Send a Test Email button which will then take you to the Test Email Settings page.

Here you need to click the Sent Test Email button.

 

Nagios XI

Open the Nagios XI web interface and navigate to Admin > System Config > Manage Email Settings.

Click the Send a Test Email button which will then take you to the Test Email Settings page.

Here you need to click the Sent Test Email button.

 

The output generated from the test will be placed as raw text at the top of the page, here is an example:

 

 

You can see in the screenshot above that there was an authentication issue. The output you see on your screen will be different and you can use that output to further troubleshoot your SMTP problems. Please refer to the following link for troubleshooting resources:

Troubleshooting PHPMailer Problems

 

 

Disable Debug Logging

When you no longer require the debug logging you will need to disable it by editing the class.phpmailer.php file and define the following:

public $SMTPDebug = 0;

 

The following commands will make that change for you:

Nagios Fusion

cd /usr/local/nagiosfusion/html/includes/utils/phpmailer/
sed -i 's/public \$SMTPDebug.*/public \$SMTPDebug = 0;/g' class.phpmailer.php

Nagios XI

Older OS versions:

cd /usr/local/nagiosxi/html/includes/phpmailer/
sed -i 's/public \$SMTPDebug.*/public \$SMTPDebug = 0;/g' class.phpmailer.php

Newer OS versions:

cd /usr/local/nagiosxi/html/includes/
sudo sed -i 's|\$mail->SMTPDebug = .*|\$mail->SMTPDebug = 0;|' utils-email.inc.php

 

 

Final Thoughts

For any support related questions please visit the Nagios Support Forums at:

http://support.nagios.com/forum/



Article ID: 820
Created On: Tue, Aug 14, 2018 at 5:02 PM
Last Updated On: Thu, Jul 20, 2023 at 7:17 AM
Authored by: tlea

Online URL: https://support.nagios.com/kb/article/phpmailer-troubleshooting-using-debug-logging-820.html