php发送表单无法正常工作[关闭]

Posted

技术标签:

【中文标题】php发送表单无法正常工作[关闭]【英文标题】:php send form doesn't work correctly [closed] 【发布时间】:2015-10-27 12:53:11 【问题描述】:

在我检查收件箱但没有看到电子邮件之前,看起来一切正常

php

$mail = $_POST['your_email'];    
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message = "$mail want to access the private beta";

$to = 'aca.spam@gmail.com';
$subject = 'Someone want to send a future message';

mail($to, $subject, utf8_decode($message), $header);

header("location:confirmation.html");
exit;

HTML

<form method="post" id="contact_form" name="contact_form" target="_self" lang="en" action="send.php">
     <div>
          <b>My email is</b> <input type="text" id="your_email" name="your_email" placeholder="email@ddress.com">
          <p>and I want access to the private beta.</p>
     </div>
     <button type="submit">YES!</button>
</form>

当我点击提交时,转到 php 文件,然后返回到 Confirmation.html。 一切正常,但我没有收到任何电子邮件。

【问题讨论】:

您不能将From 字段发送到您不是从其发送且未通过身份验证从其发送的域。否则,我可能会伪造你的地址,然后给世界上每个人冒充塞巴斯蒂安·苏亚雷斯发电子邮件。 PHP mail form doesn't complete sending e-mail 的可能重复项 PHP mail form doesn't complete sending e-mail的可能重复 【参考方案1】:

正如@ohgodwhy 指出的那样,您需要经过适当的身份验证才能从与您的网站不同的域发送电子邮件。

查看另一个post,它提供了使用 Google SMTP 服务器进行身份验证的示例。

【讨论】:

谢谢迈克尔!但是该代码是从一封邮件中发送一封电子邮件,到另一封邮件就像转发一样,对吗?那么,您说如果我的页面是 www.something.com 并且我的电子邮件是 me@something.com 是否可以正常工作? 该代码将电子邮件从一个地址发送到另一个地址。在收件人看来,好像发件人地址已正常发送。正确,如果您的电子邮件地址与网站域位于同一域,则它应该可以正常工作。无论哪种情况,我都建议使用链接答案中的代码。 好的,伟大的迈克尔。谢谢!你摇滚!

以上是关于php发送表单无法正常工作[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PHP,HTML:自动提交表单[关闭]

动态生成的表单无法正常工作

我被难住了:如何使用 PHP Mailer 发送 HTML 表单

Javascript 表单无法正常工作

Javascript 表单验证器功能无法正常工作

Axios 发布表单数据在本机反应中无法正常工作