Home  >  Article  >  Backend Development  >  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?

伊谢尔伦
伊谢尔伦Original
2017-06-27 10:27:411978browse

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

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

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

service sendmail status

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

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

sendmail_path = /usr/sbin/sendmail -t -i

The default of my system is:

sendmail_path = /usr/sbin/sendmail -t -i -f

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;; 
} 
?>

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!

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