// plain
- Start by checking the debug output of PHPMailer. To do this, set the
SMTPDebug
property to2
before callingconnect()
. This will provide detailed information about the connection process, such as any errors encountered.
$mail->SMTPDebug = 2;
$mail->connect();
-
The debug output might provide information about why the connection is failing. For example, it might show that the SMTP server is refusing the connection due to invalid credentials.
-
If the debug output does not provide enough information, you can also try to connect to the SMTP server manually using the
fsockopen()
function. This will allow you to see the raw response from the server.
$fp = fsockopen('smtp.example.com', 25);
if (!$fp) {
echo "Could not open connection\n";
}
-
If the connection is successful, the server should respond with a string starting with
220
. If the connection is unsuccessful, it will respond with a different string. -
Also check the
SMTPAuth
andSMTPSecure
properties to make sure that they are set correctly for the server. -
Make sure that the server is not blocking the connection from the IP address that you are using.
-
Finally, check the PHPMailer documentation for more information about troubleshooting SMTP connections.
onelinerhub: How can I troubleshoot a failed PHPMailer SMTP connect()?