无法理解为什么我不使用PHP mail()函数向我的主机邮件发送邮件[复制]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法理解为什么我不使用PHP mail()函数向我的主机邮件发送邮件[复制]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我所要做的就是向我的主机邮件发送一封非常基本的电子邮件。我目前使用的托管服务是https://www.ionos.com/,我有一个注册的电子邮件。我的网站已经托管并正在运行。我正在尝试执行的代码是这样的:
的index.php
<form class="" action="/contactform.php" method="post">
<input type="text" name="name" value="">
<input type="text" name="mail" value="">
<textarea name="message"></textarea>
<button type="submit" name="submit">Submit</button>
</form>
contactform.php
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
$mailTo = 'info@installnewcooker.com';
$headers = 'From '.$mail;
$text = "You've received an e-mail from ".$name."
".$message;
mail($mailTo, $name, $text, $headers);
header("Location: ../index.php");
}
我正在尝试发送消息的电子邮件是info@installnewcooker.com,如代码中所示。可悲的是,我没有收到任何东西,我也没有任何线索。 PHP代码没有给出任何错误。
很可能,您需要一个具有身份验证的注册帐户。但是mail()
函数不允许这样的身份验证。
您可能想安装一个合适的类,如PHPMailer。只需为实例提供您的邮件服务的身份验证信息,您应该做得很好。
如果它仍然不起作用,您可以使用PHPMailer的调试模式进行调查。如果您发现自己处于这种情况,很可能您的Web提供商不允许通过PHP进程发送电子邮件,这可能是为了避免滥用和发送垃圾邮件。在这种情况下,您需要与提供程序通信并启用该功能,以便mail()
函数可以工作,并且可能需要添加自定义标头以向您的Web提供程序标识电子邮件发件人以进行记帐/监视。作为替代方案,他们可能会为您提供适合与PHPMailer一起使用的用户/密码对。
试试这个:
$headers = 'From: '.$mail;
mail($mailTo, $name, $text, $headers, "-f ".$mail);
以上是关于无法理解为什么我不使用PHP mail()函数向我的主机邮件发送邮件[复制]的主要内容,如果未能解决你的问题,请参考以下文章
我配置了我的 sendmail.ini 和 php.ini 但我无法使用 php 中的 mail() 函数发送电子邮件