Home >Backend Development >PHP Tutorial >How Can I Retrieve Error Messages from PHP's `mail()` Function?

How Can I Retrieve Error Messages from PHP's `mail()` Function?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 00:37:10827browse

How Can I Retrieve Error Messages from PHP's `mail()` Function?

How to Retrieve Error Messages from the PHP mail() Function

The PHP mail() function is a versatile utility for sending emails from your scripts. However, it can be frustrating when emails fail to send without any indication of the error. To resolve this issue, let's explore how to retrieve error messages from mail().

Windows SMTP

For Windows users employing SMTP, you can leverage the error_get_last() function when mail() returns false. Note that this approach is not compatible with PHP's native mail() function.

$success = mail('email@example.com', 'My Subject', $message);
if (!$success) {
    $errorMessage = error_get_last()['message'];
}

Example Output

Calling print_r(error_get_last()) in the case of a failed email might produce the following output:

[type] => 2
[message] => mail(): Failed to connect to mailserver at "x.x.x.x" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
[file] => C:\www\X\X.php
[line] => 2

The above is the detailed content of How Can I Retrieve Error Messages from PHP's `mail()` Function?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn