当前位置: 首页 > 知识库问答 >
问题:

用php mail()函数发送邮件[重复]

华恩
2023-03-14

我有问题通过php mail()函数发送邮件消息。我不确定这是不是代码的问题,因为我读到一些主机服务器不允许发送邮件,但我也试图发送这封邮件,当网站是在本地主机,但它仍然不工作-点击“发送”后,我看到信息:“您的邮件已发送”,但当我检查我的邮筒没有邮件(也是垃圾邮件)。

对我来说,代码看起来不错,但也许我错过了什么。我正在考虑的第二个选择是,我的本地主机也不允许发送邮件。

<form id="contact" action="mail.php" method="POST">
    <div class="field">
        <label class="fixed_width" for="name">Name:</label><input id="name" name="name" value="Name"/>
    </div>
    <div class="field">
        <label class="fixed_width" for="surname">Surname:</label><input id="surname" name="surname" value="Surname"/>
    </div>
    <div class="field">
        <label class="fixed_width" for="mail">E-mail:</label><input id="mail" name="mail" value="E-mail"/>
    </div>
    <div class="field" id="message">
        <label class="fixed_width" id="message_width" for="mail">Message:</label>
        <textarea id="message" name="message" />Type your message...</textarea>
    </div>
    <div>
        <input class="width" type="submit" value="Send" />
    </div>
</form>

<?php

    srand((double)microtime()*1000000);
    $marker = md5(uniqid(rand()));

    $receiver  = "address@gmail.com";
    $title = "Mail";
    $sender  = $_POST['name'];
    $sender .= $_POST['surname'];
    $sender_mail = $_POST['mail'];

    $message = $_POST['message'];

    $headers  = "From: $sender <$sender_mail>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n";
    $headers .= "\tboundary=\"___$marker==\"";

    $content ="--___$marker==\n";
    $content .="Content-Type: text/plain; charset=\"iso-8859-2\"\n";
    $content .="Content-Transfer-Encoding: 8bit\n";
    $content .="\n$message\n";

    if (mail($receiver,$title,$content,$headers))
    {
        print "Your message is sent.";
    } else {
        print "Your message is not sent.
        <br>Please go <a href=\"javascript:history.back();\">back</a> and send again.";
    }
?>

我的php conf图片:

共有1个答案

张博涛
2023-03-14

要测试发送电子邮件是否有效,请尝试以下简短的程序:

<?php
$email_to="address@gmail.com";
$email_subject="It works";
$email_message="Hello. I can send mail!";
$headers = "From: Beacze\r\n".
"Reply-To: address@gmail.com\r\n'" .
"X-Mailer: PHP/" . phpversion();
mail($email_to, $email_subject, $email_message, $headers);  
echo "mail sent!"
?>

我在过去使用过一个“就像它”作为测试配置的起点。如果这不起作用,很可能是您的服务器配置。

 类似资料:
  • 我有发送邮件与谷歌SMTP和最新版本的PHPMailer的问题。这里有很多问题,但是答案对我不起作用。我使用免费托管与免费子域。这是我的标准PHP代码发送电子邮件从文档: 我得到了这个错误: .... 2017-06-03 15:15:33服务器- 如果将与端口一起使用,我会看到相同的错误。 在我的电子邮件帐户2中,工厂身份验证处于和处于。 我真的不知道该怎么办。

  • 我正在使用一个1&1托管服务器上的基本脚本: 但是由于某些原因,我没有收到任何电子邮件,也没有任何错误,因为PHP mail()函数没有发送电子邮件指令。 我认为这可能是一个服务器问题,但1&1声明它是完全支持的。我也从这个服务器/主机发送电子邮件之前使用的只是一个收件人,主题和主体,所以我相当不确定为什么它现在不工作! ..起作用了,所以使用标题似乎是个问题?

  • 我正在尝试使用php函数向用户帐户发送电子邮件。邮件发送成功了,但问题是它向我发送的是没有值的空白电子邮件!发送电子邮件的联系人页面的代码如下:- 和sendemail.php页面代码如下: 为什么我在电子邮件id中得到的输出为空,例如: 姓名: 表单是使用以下JavaScript通过AJAX提交的:

  • BaaS.sendEmail(data) 参数说明 data 是 Object 类型,它包括以下几个属性 参数名 类型 必填 描述 recipient String 是 收件人邮箱 subject String 是 邮件标题 body String 是 邮件内容 请求示例 let data = { recipient: "aa@bb.com", subject: "email title"

  • 我检查了我的php.ini(我正在运行CentOS): 我在一个论坛上读到我必须安装SendMail。所以我安装了它。现在带有mail()函数的站点不再加载了。所以我删除了sendmail,mail()函数再次返回true,但不发送邮件。 你知道吗?

  • 我得到的错误是:无效地址:mysmtppassxxxxSMTP->错误:连接到服务器失败:连接超时(110) SMTP错误:无法连接到SMTP主机。SMTP错误:无法连接到SMTP主机 当我执行var_dump($email)时,我得到