首页 > 解决方案 > 我是 PHP 新手,但在使用响应式电子邮件表单时遇到问题

问题描述

我是 PHP 新手,我正在尝试编写此表单,但它没有发送任何电子邮件,无论是发送给我的电子邮件,还是发送给尝试预订的人。

<?php.validate.executablePath
if(empty($_POST['name'])        ||
   empty($_POST['email'])       ||
   empty($_POST['phone'])       ||
   empty($_POST['ankunft'])     ||
   empty($_POST['abreise'])     ||
   empty($_POST['message'])     ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
    echo "No arguments Provided!";
    return false;
   }

$name = strip_tags(htmlspecialchars($_POST['name']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$ankunft = strip_tags(htmlspecialchars($_POST['ankunft']));
$abreise = strip_tags(htmlspecialchars($_POST['abreise']));
$message = strip_tags(htmlspecialchars($_POST['message']));

// Create the email and send the message
$to = 'myemail@gmail.com'; 
$email_subject = "Website Contact Form:  $name";
$email_body = "You have received a new message from your website.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nAnkunft: $ankunft\n\nAbreise: $abreise\n\nMessage:\n$message";
$headers = "From: myemail@gmail.com\n"; // add noreply Email
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers);
return true;            
?>

编辑

所以我让它工作了,这是一个服务器问题,但还有一件事不工作,日期不工作,我还是 php 的新手,我们甚至还没有在学校开始,所以我不确定是否这是否正确。

标签: phpformsemail

解决方案


如果您正在运行 XAMPP 或 WAMP 等本地服务器,则需要提供 gmail 凭据。您可以在 XAMPP 中通过编辑 sendmail.ini 文件来指定您的 SMTP 服务器和身份验证凭据来执行此操作。像这样:

  • 在 XAMPP 的 sendmail 目录中找到 sendmail.ini。
  • 找到“smtp_server”,将其值更改为“mail.gmail.com”
  • 找到“auth_username”,将其设置为您的电子邮件地址
  • 将“auth_password”设置为您的电子邮件密码

推荐阅读