简体   繁体   中英

PHP mail Error Reporting

I have the following code to test if the website can send mail via php:

<?php 
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = "emailtest@YOURDOMAIN";
$to = "YOUREMAILADDRESS";
$subject = "PHP Mail Test script";
$message = "This is a test to check the PHP Mail functionality";
$headers = "From:" . $from;
mail($to,$subject,$message, $headers);
echo "Test email sent";
?>

I have uploaded this php file to www.mywebsite.com/data/iq/testing-email.php

when I run the script I get the following error:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\\mywebsite.com\\data\\iq\\test-email.php on line 9

My question is why is the error showing a C:\\ file directory when the website is already live?

For reference this website is running on a Microsoft IIS Server and has an SSL if that makes any difference.

When you use mail() your PHP script tries to connect to an external SMTP to deliver your email, so you must configure a valid one.

By default it tries to connect to localhost, but the webserver apparently is not running an SMTP server, so you should ask your provider for the correct SMTP to use, and set it with:

ini_set('SMTP','smtp.yourprovider.cxm');
ini_set('smtp_port',25);

About your second question, C:\\mywebsite.com\\ is probably the server folder where your files are hosted, so it looks very normal to me.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM