Home  >  Article  >  Backend Development  >  What to do if php email fails to be sent

What to do if php email fails to be sent

藏色散人
藏色散人Original
2021-09-18 09:38:555840browse

Solution to the failure of php email sending: 1. Configure the appropriate SMTP server address and port information in php.ini; 2. Use the sendmail program to send emails.

What to do if php email fails to be sent

The operating environment of this article: linux5.9.8 system, PHP7.1 version, Dell G3 computer

php email What to do if it fails?

PHP error in sending mail

Warning: mail() [function.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

Solution:

Use of PHP's Mail function The SMTP service sends E-Mail. In other words, you need to configure the appropriate SMTP server address and port information in php.ini. If you need to send E-Mail on this machine, that is,

SMTP = localhost
smtp_port = 25

, you need to configure the SMTP service on your own machine. You can try to open the SMTP service of IIS.

Explain that the mail() function in php uses the sendmail program to send emails, and sendmail -t -i is generally a built-in program of the linux/unix system, but the windows system does not have this program. Therefore, you cannot directly use the mail() function to send emails.

Use mail() to send emails under windows

1. The email sending system must have SMTP service. Install the "SMTP Service" component under "Windows Server 2003":
A. "Add and Remove Windows Components"->"Application Server"->"Internet Information Services (IIS)" click "Details".
B. Select "SMTP Service" to install.
2. Set up SMTP:
A. Open "Internet Information Services (IIS) Manager" and find the "Default SMTP Virtual Server".
B. Right-click on the service and select "Properties".
C. In the pop-up "Default SMTP Virtual Server Properties" box, click the "Access" entry and select the "Authentication" button.
D. In the pop-up "Authentication" box, only select "Anonymous Access" and leave nothing else selected.
E. Return to the "Access" table item, select the "Relay" button, click the "Add" button in the pop-up "Relay Restriction" box, and add the IP address of 127.0.0.1.
3. Modify "php.ini":
---------------------------------

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = me@example.com

---------------------------------
4. Run this program and log in to “$toaddress” Display the mailbox to check the mail.

$toaddress = 'xuzhang@mascatv.com';
$subjects = 'test the php mail';
$mailcontent = 'Onlu test the php mail!';
$fromaddress = 'From: me@localhost.com';
mail($toaddress,$subjects,$mailcontent,$fromaddress);

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What to do if php email fails to be sent. 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