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

使用PHP发送电子邮件联系表单数据

柯波峻
2023-03-14

我有一个html表单,我想把输入的数据通过电子邮件发送给我自己,我对PHP并不熟悉,但经过一些谷歌搜索,似乎是一条可行的路。

我不太确定什么是不太有效的,但任何洞察力都会很棒!!

HTML:

    <section class="contact" id="contact">
        <div class="container">
            <div class="section-heading">
                <h1 data-aos="fade-right" data-aos-delay="150">Contact</h1>
                <h6 data-aos="fade-left" data-aos-delay="150">Contact Me</h6>
            </div>
            <form method="post" name="contact_form" action="contact-form-handler.php" data-aos="fade-up" data-aos-delay="200" onsubmit="return false">
                <label for="name">Name:</label>
                <input type="text" id="name" name="name" placeholder="Enter Your Name..." required>

                <label for="name">Email:</label>
                <input type="email" id="email" name="email" placeholder="Enter Your E-mail..." required>

                <label for="number">Contact Number:</label>
                <input type="number" id="number" name="number" placeholder="Enter Your Contact Number...">
                
                <label for="message">Message:</label>
                <textarea name="subject" id="subject" cols="10" rows="10" placeholder="Enter Your Messgage..."></textarea>
                <input type="submit" value="Submit" onclick="sendContact();">
                


            </form>
            <?php include 'contact-form-handler.php';?>
        </div>

PHP:[同一目录中名为contact-form-handler.php的单独文件]

<?php
if(!empty($_POST["submit"])) {
    $name = $_POST["name"];
    $email = $_POST["number"];
    $subject = $_POST["email"];
    $content = $_POST["subject"];

    $toEmail = "admin@phppot_samples.com";
    $mailHeaders = "From: " . $name . "<". $email .">\r\n";
    if(mail($toEmail, $subject, $content, $mailHeaders)) {
        $message = "Your contact information is received successfully.";
        $type = "success";
    }
}
?>

再一次,任何类似的建议是非常感谢的!

共有1个答案

宰父才
2023-03-14

您的HMTL中似乎一切都很好。 但我认为您误解了PHP关于发送电子邮件的部分。

标题中的“发件人:”字段应该是您在邮件服务器中拥有的地址,请参见下面的示例

此外,建议设置内容类型和字符集:)

<?php
$mailHeaders = "Content-type:text/html;charset=UTF-8" . "\r\n";

if(!empty($_POST["submit"])) {
    $name = $_POST["name"];
    $email = $_POST["number"];
    $subject = $_POST["email"];
    $content = $_POST["subject"];

    $toEmail = "admin@phppot_samples.com";
    $mailHeaders .= "From: <Your@DomainName.com>\r\n";
    if(mail($toEmail, $subject, $content, $mailHeaders)) {
        $message = "Your contact information is received successfully.";
        $type = "success";
    }
}
?>

此外,我建议阅读以下文档:)https://www.php.net/manual/en/function.mail.php

 类似资料:
  • 问题内容: 现在,我已经建立了一个PHP电子邮件表单,并且一切正常。但是,在测试时,我只得到了发件人的电子邮件地址作为名称。我想要的是发件人的姓名,例如: 约翰·杜 科目科目科目 代替: j.doe@website.com 科目科目科目 下面是代码… 有谁可以帮助我吗?谢谢。 PHP: 问题答案: 在您的4行说完之后添加一行:

  • 每次尝试提交此联系人表单时,都会收到以下错误消息: “请输入您的消息。” 名称错误消息和电子邮件错误消息不会出现,除非我将它们留空。我尝试在HTML中指定post。 以下是HTML: 下面是PHP:

  • 问题内容: 我目前正在写一个音乐博客。管理员每2-3天发布一次新文章。管理员发布文章后,将立即向大约5000个订阅者发送大量电子邮件。 实施群发邮件功能的最佳方法是什么? 下列功能有效吗? 另一个问题:如果所有5000个订阅者都在使用Yahoo Mail,Yahoo是否会将其视为DDOS攻击并阻止我的SMTP服务器的IP地址? 问题答案: 首先,使用PHP随附的mail()函数不是最佳解决方案。它

  • 问题内容: 我在网站上使用PHP,并且想添加电子邮件功能。 我已经安装了WAMPSERVER。 如何使用PHP发送电子邮件? 问题答案: 使用PHP的功能是可能的。请记住,邮件功能在本地服务器上不起作用。

  • 问题内容: 我想在我正在创建的网站上使用联系表格,但是PHP不是一个选择,因为客户端不希望使用它。是否有一种聪明的方法可以解决此问题,例如发送电子邮件参数(非标准参数)或使用外部联系表?是否有一些不使用广告且可以轻松修改为其他语言的好产品? 谢谢。 问题答案: 联系人表单有数百种可嵌入(最可能基于)的解决方案,使您能够使用PHP等服务器端语言来解决问题。只是一个快速的谷歌搜索会给你一些。 或者,您

  • 问题内容: 我知道有一些与此类似的问题,但我无法使其正常运行。 好的,我在一个名为$ emailList的变量中有一个从数据库中获取的电子邮件列表。如果将变量放在该部分中,则可以获取代码以从表单发送电子邮件,但无法使其与bcc一起使用。我什至还添加了一封电子邮件,以防万一,但这没什么关系。 这是我的代码。 我试过两个代码: 和 不是因为这些电子邮件而没有分开电子邮件。我知道他们是因为如果我在本节中

  • 问题内容: 我正在尝试从PHP发送简单的HTML电子邮件。下面的代码仅导致GMail中的空白电子邮件。它还有一个名为“ noname”的空附件,这根本不是我想要的;尽管那可能只是它无法正常工作的症状。 我使用的代码是: 问题答案: 原来关键是编码类型。代替: 我需要使用: 它可能取决于您如何在自己的文本编辑器中保存PHP文件的细节。我没有研究它,但是PHP中的 iconv 函数可能也给我带来了一些

  • 你好;我正在使用s.o上给出的答案进行smtp邮件;(如果搜索,相信这是第一个结果) 但我仍然没有收到邮件;任何人都可以帮助发现任何错误或提供替代解决方案吗?我已经使用了内置的邮件程序,但它没有被认证,请参阅 -