php - 我是 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 的新手,我们甚至还没有在学校开始,所以我不确定是否这是否正确。
解决方案
如果您正在运行 XAMPP 或 WAMP 等本地服务器,则需要提供 gmail 凭据。您可以在 XAMPP 中通过编辑 sendmail.ini 文件来指定您的 SMTP 服务器和身份验证凭据来执行此操作。像这样:
- 在 XAMPP 的 sendmail 目录中找到 sendmail.ini。
- 找到“smtp_server”,将其值更改为“mail.gmail.com”
- 找到“auth_username”,将其设置为您的电子邮件地址
- 将“auth_password”设置为您的电子邮件密码
推荐阅读
- javascript - 基于 SharePoint 365 中的单选按钮隐藏/显示文本框
- html - CSS中的位置搜索栏100%宽度
- r - 从ggvoronoi中提取多边形区域
- automation - 赛普拉斯 - 从 const 中删除文本
- macos - GitHub Desktop 不会安装在 macos Catalina 上
- r - Dplyr:重新编码数字和字符向量
- javascript - 执行 Javascript 时 Python/Selenium 不会为 Chrome 78 切换页面
- user-interface - 如何在回调中显示子框架(在定义块中)
- javascript - Mongo Db,如何查询参数在哪里是对象
- azure - Azure - 授予对外部应用程序的资源访问权限