php - 如何检查是否启用了 PHP mail()?

标签 php email

我需要在 Microsoft 服务器上安装 PHP 站点。出于某种原因,主机不允许站点发送电子邮件。主持人已向我发送了一个代码示例...但没有用。

有没有办法检查服务器是否允许通过 php mail() 函数发送电子邮件?

在这个阶段,一切都在相互指责,我需要一些证据来向客户表明房东有错。

最佳答案

要检查您的服务器或 PHP 安装是否启用了邮件功能,请使用

<?php
if ( function_exists( 'mail' ) )
{
    echo 'mail() is available';
}
else
{
    echo 'mail() has been disabled';
}
?>

检查是否按预期发送邮件;

<?php 

$email = "youremail@gmail.com";
$subject =  "Email Test";
$message = "this is a mail testing email function on server";


$sendMail = mail($email, $subject, $message);
if($sendMail)
{
echo "Email Sent Successfully";
}
else

{
echo "Mail Failed";
}
?>

如果 mail() 函数存在但邮件不发送,请检查您的服务器上是否安装了邮件传输代理 (MTA),例如 sendmail 或 postfix。

如果在 Linux 上:

尝试;

$ dpkg -S `which sendmail`

在 Ubuntu 上安装 sendmail;

sudo apt-get install sendmail

https://www.digitalocean.com/community/questions/setting-up-email-with-sendmail

关于php - 如何检查是否启用了 PHP mail()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3889439/

相关文章:

linux - postfix统计每个用户,怎么办?

php - 从本地主机发送电子邮件

Python Pandas to_html 样式

c# - 对于每天可能向订阅者发送 10k+ 封电子邮件的 .Net 程序,您可以分享哪些陷阱/技巧/提示?

javascript - 尝试通过 AJAX 验证 Laravel Form 时出现错误 422

php - 在 MVC 应用程序中从 Model 正确调用数据库?

php - 多个子域的单点登录

java - 必须先发出 STARTTLS 命令。使用 Java 和 Google Apps 发送电子邮件

php - 从csv加载数据并忽略基于多列匹配mysql的重复记录

php - MySQL查询每次执行时返回不同数量的记录