Home > Backend Development > PHP Tutorial > What should I do if the mail function in PHP fails to send emails?

What should I do if the mail function in PHP fails to send emails?

伊谢尔伦
Release: 2023-03-11 15:26:01
Original
1999 people have browsed it

mailfunction in php is a built-in function for sending emails, but if you really want to use the mail function to send emails, you must give your systemInstall the sendmail component. Now I encountered the problem that mail cannot send emails. Let’s take a look at the solution.

The previous server was transferred here Later, I found that the website could not send emails using mail(), but I found that sendmail has been installed. If sendmail is not installed, it can be executed. The code is as follows:

yum install sendmail
Copy after login

By the way, the host name must be set in a domain name format, for example :jb51.net, otherwise it will take a long time to start up when you restart sendmail, otherwise you will have to wait a long time. The code is as follows:

hostname .net
Copy after login

Then check whether sendmail is running normally. The code is as follows:

service sendmail status
Copy after login

If it is not running, it can be started. Change status to start. Then, edit php.ini and create a phpinfo in the web environment, because I use lnmp.

vi /usr/local/php/etc/php.ini
Copy after login

and then search :;sendmail_path =, press i to edit, replace with:

sendmail_path = /usr/sbin/sendmail -t -i
Copy after login

The default of my system is:

sendmail_path = /usr/sbin/sendmail -t -i -f
Copy after login

This -f seems to disable the mail function. After removing -f The mail function returns to normal. Then, restart the PHP process, usually: service php restart. LNMP is: service php-fpm restart. Under Apache, it can be: service httpd restart

. Let me share with you a php script test code. The code is as follows:

<?php 
$send = mail(&#39;your
Email
@lisizhang.com&#39;, &#39;邮件标题&#39;, &#39;测试邮件内容,如果收到此邮件,表示mail函数成功启用!&#39;); 
if($send){ 
echo &#39;true&#39;; 
}else{ 
echo &#39;false&#39;; 
} 
?>
Copy after login

If the return result is false, it means that the email is sent. If it returns true, it means that the email is sent successfully.

The above is the detailed content of What should I do if the mail function in PHP fails to send emails?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template