【问题标题】:I dont know why my email don't send [duplicate]我不知道为什么我的电子邮件不发送[重复]
【发布时间】:2015-03-27 14:08:13
【问题描述】:

我有一些带有mail() 函数的代码。我不知道为什么它不想发送电子邮件,但是当我单击邮件按钮时,它会显示“Din bedked er nu sendt”,如果我们翻译它,它将是“您的消息已发送”但是当我检查我的邮件不会有任何东西。

<?php
if (isset($_POST['navn']) && isset($_POST['besked']))
{
    if (empty($_POST['navn']))
    {
        echo "Du skal indtaste dit navn"; 
    }
    elseif (empty($_POST['besked']))
    {
        echo "Du skal indtaste en besked";
    }
    else
    {
        $modtager = "pressweb10@gmail.com";
        $emne = "" .$_POST['emne']. "\n";
        $besked = "Hej, du har modtaget mail fra en bruger: \n 
        Navn: " .$_POST['navn']. "\n
    Emne: " .$_POST['emne']. "\n
        Besked: " .$_POST['besked'];
        $header = "from:".$_POST['mail']."/n";

        mail($modtager, $emne, $besked, $header);
        echo "Emailen er nu sendt!";
    }
}
?>

<form action="hey.php" method="post">
    Navn: <br>
    <input type="text" name="navn" style="width: 200px;"> <br><br>

    Mail: <br>
    <input type="text" name="mail" style="width: 200px;"> <br><br>

    Emne: <br>
    <input type="text" name="emne" style="width: 200px;"> <br><br>

    Besked: <br>
    <textarea name="besked" style="width: 200px; height: 100px;"></textarea> <br><br>

    <input type="submit" value="Send mail">
</form>

【问题讨论】:

  • 您确定 MySQli 是您认为的那样吗?在您的代码 sn-p 中没有提及它。
  • 您的代码没有问题。在您打开 &lt;?php 标记 error_reporting(E_ALL); ini_set('display_errors', 1); 后立即将错误报告添加到文件顶部,看看它是否会产生任何结果。

标签: php forms email send


【解决方案1】:

首先检查mail()函数的返回值。来自 PHP 文档

如果邮件被成功接收,则返回 TRUE,否则返回 FALSE。

请务必注意,仅仅因为邮件被接受投递,并不意味着邮件实际上会到达预定目的地。

mail() 不是很可靠。大多数人使用 PHPMailer 或 SwiftMailer。您可以在他们的网站上找到有关他们的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-02
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    • 2013-05-09
    • 2011-04-29
    • 2016-09-30
    相关资源
    最近更新 更多