将表单发送到我的电子邮箱时遇到问题。 目前,当我发送表格时,我收到来自“emailtest@test.com”的邮件,邮件为$ message2,但我没有从'inputEmail'收到$ message给我的电子邮件“emailtest@test.com”。
我想补充一点,我不是PHP程序员,这是我用这种语言编写的第一个脚本。
我非常感谢你的帮助
<?php
$to = 'emailtest@test.com'; // this is your Email address
$from = $_POST['inputEmail']; // this is the sender's Email address
$first_name = $_POST['inputName'];
$inputCompany = $_POST['inputCompany'];
$inputPosition = $_POST['inputPosition'];
$inputProjects = $_POST['inputProjects'];
$inputOfficeProjects = $_POST['inputOfficeProjects'];
$inputPresentation = $_POST['inputPresentation'];
$inputMessage = $_POST['inputMessage'];
$number = $_POST['number'];
$subject = "Test";
$subject2 = "Test1";
$message = $first_name . " example " . $inputPosition . " wrote the following:" . "\n\n" . $_POST['message'];
$message2 = "Here is a copy of your message " . $first_name . "\n\n" . $_POST['message'];
$headers = "From:" . $from;
$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
// echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
header('Location: dziekujemy.html');
?>
答案 0 :(得分:0)
由于您的代码在本地环境中工作,使用mailtodisk,我怀疑邮件服务器存在“问题”。您正在将第一次电子邮件发送尝试的From:
标头设置为填写表单的人员的电子邮件地址。大多数邮件服务器可能会拒绝它,因为它不是您拥有的有效地址。我不是这方面的专家,所以有人可能会有更好,更详细的解释。
从第一封电子邮件中删除标头,或将From:
标头设置为可通过该邮件服务器实际发送的地址。如果这样可行,您可以使用Reply-to
标题,使大多数客户能够直接回复设置的电子邮件地址。
以下示例:
...
$headers = 'From: ' . $to . "\r\n" .
'Reply-To: '.$from;
...