【问题标题】:Issues with PHP mail() function and HTMLPHP mail() 函数和 HTML 的问题
【发布时间】:2021-06-03 08:31:33
【问题描述】:

我已经上网 7 个多小时了,但我仍然无法理解为什么会发生这种情况。

基本上我的 HTMLPHP 代码在同一个目录中,我的 HTML 包含一个简单的电子邮件联系表单和我的 PHP 只是一个基本的ma​​il() 函数。

当我尝试通过表单发送消息时出现问题(在我将其推送到网站之后)。

当我点击提交按钮时没有任何反应,但是如果我转到www.mysite.com/ ma​​il.php - 我的 PHP 文件 - 它会向右侧发送一封空白电子邮件电子邮件地址,所以我认为问题绝对不是与我的 PHP 脚本有关。

如果您能提供帮助,请告诉我。 :)

PS 另外,我知道我应该使用 PHPMailerSwift Mailer 而不仅仅是默认的 mail() 函数,但我真的不喜欢为此必须使用 gmail 的想法。

mail.php:

<?php

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

$subject = "Client Mail from ".$name;
$to = "clients@growpile.com";
$headers = "From: ".$email;
$txt = "You have received an e-mail from ".$name.". \n\n".$message;

mail($to, $subject, $txt, $headers);
header("Location: home.html?mailsent");?>

html:

                                        <!--CONTACT FORM START-->
                                    <form id="contact-form" class="fade-up" method="post" action="mail.php">
                                        <div class="row">

                                            <!--NAME FIELD-->
                                            <div class="col-md-6">
                                                <input type="text" id="cf-name" class="input__field cf-validate" name="name" placeholder="Name">
                                            </div>

                                            <!--EMAIL FIELD-->
                                            <div class="col-md-6">
                                                <input type="text" id="cf-email" class="input__field cf-validate" name="email" placeholder="Email">
                                            </div>

                                            <!--MESSAGE BOX-->
                                            <div class="col-md-12">
                                                <textarea id="cf-message" class="input__field cf-validate" rows="8" name="message" placeholder="Your Message"></textarea>
                                            </div>

                                            <div class="alert-container col-md-12"></div>

                                            <!--SUBMIT BUTTON-->
                                            <div class="col-md-12">
                                                <button type="submit" id="cf-submit" name="submit" class="main-btn cursor-link">Send Message</button>
                                            </div>

                                        </div>
                                    </form>
                                    <!--CONTACT FORM END-->

【问题讨论】:

  • 请阅读How to Ask,特别注意不要发布代码图片。
  • @Quentin 谢谢!已编辑。
  • 使用 PHPMailer 或 SwiftMailer 并不意味着你必须使用 gmail。两者都可以充当 mail() 函数的前端(这将避免您犯的所有安全漏洞和格式错误),尽管 SMTP 到 localhost 更安全、更快捷。
  • @Synchro 感谢您的回复!你能给我举个例子吗? :)
  • github.com/PHPMailer/PHPMailer#a-simple-example 示例文件夹中还有很多其他的

标签: php html smtp phpmailer


【解决方案1】:

此代码有效。您的垃圾邮件过滤器正在捕获它,或者您的电子邮件服务器正在拒绝它发送的电子邮件。我将您的代码复制到了我的服务器,它完全按照您的预期运行并发送到我的 gmail,但它进入了垃圾邮件。检查您的垃圾邮件文件夹或将其发送到具有更宽松垃圾邮件限制的其他电子邮件地址以查看电子邮件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2014-09-04
    • 2014-03-19
    • 2013-07-15
    • 1970-01-01
    • 2014-05-07
    • 2011-09-10
    相关资源
    最近更新 更多