php - 填写表格时收到访客信息的电子邮件
问题描述
我必须解决这个问题。所以我的网站上有一个表格(html/css/js),我想在客户填写后收到一封电子邮件,而不是在数据库中注册。我是初学者在php中,我希望你能帮助我..下面是我的PHP代码。
<?php
// Define some constants
define( "RECIPIENT_NAME", "my name " );
define( "RECIPIENT_EMAIL", "******@***.com" );
// Read the form values
$success = false;
$userName = isset( $_POST['username'] ) ? preg_replace( "/[^\s\S\.\-\_\@a-zA-Z0-9]/", "", $_POST['username'] ) : "";
$lastName = isset( $_POST['lastname'] ) ? preg_replace( "/[^\s\S\.\-\_\@a-zA-Z0-9]/", "", $_POST['lastname'] ) : "";
$senderEmail = isset( $_POST['email'] ) ? preg_replace( "/[^\.\-\_\@a-zA-Z0-9]/", "", $_POST['email'] ) : "";
$userPhone = isset( $_POST['phone'] ) ? preg_replace( "/[^\s\S\.\-\_\@a-zA-Z0-9]/", "", $_POST['phone'] ) : "";
$message = isset( $_POST['message'] ) ? preg_replace( "/(From:|To:|BCC:|CC:|Phone:|Content-Type:)/", "", $_POST['message'] ) : "";
// If all values exist, send the email
if ( $userName && $lastName && $senderEmail && $userPhone && $message) {
$recipient = RECIPIENT_NAME . " <" . RECIPIENT_EMAIL . ">";
$headers = "From: " . $userName . "";
$msgBody = " Last Name: ". $lastName . " Email: ". $senderEmail . " Phone: ". $userPhone . " Message: " . $message . "";
$success = mail( $recipient, $headers, $msgBody );
//Set Location After Successsfull Submission
header('Location: contact.html?message=Successfull');
}
else{
//Set Location After Unsuccesssfull Submission
header('Location: contact.html?message=Failed');
}
?>
解决方案
我建议您使用库PHPMailer来发送电子邮件。需要配置电子邮件,PHPMailer 会自动完成。
推荐阅读
- python-3.x - 使用python跳过整个csv文件中的每2行
- angular - 如何设置 Angular 9 matRadioButton 组的初始值?
- python - 当我在 pycharm 上克隆一个 repo 时,我需要设置一个 python 解释器
- python - 如何使用自定义 cookie 连接到使用 PyQt5 的网站?
- reactjs - React-Router:为什么重定向到 404 页面?
- java - IntelliJ 不工作 - 当我启动我的程序时,它在输入之前完成
- css - CSS - 水平嵌套列表乱序换行
- freepascal - Pascal Debian Jessie TryGetData 不工作
- android - 运行不同的线程不允许显示活动
- c++ - 通过模板函数从其地址调用函数