【问题标题】:Receiving an e mail of visitors informations when they fill up the forms [duplicate]填写表格时收到访客信息的电子邮件[重复]
【发布时间】:2020-08-14 15:09:01
【问题描述】:

我必须解决这个问题..所以我的网站上有一个表格(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');    
}

?>

【问题讨论】:

  • 您已经说明了您在做什么,请说明您遇到的问题以及错误消息
  • 我没有收到任何错误,但我的电子邮件没有收到任何内容
  • 你在php.ini中设置了你的SMTP服务器

标签: php forms email


【解决方案1】:

我建议您使用库PHPMailer 来发送电子邮件。 需要配置电子邮件,PHPMailer 会自动完成。

【讨论】:

  • 我应该把 PHPMailer 库放在哪里??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-08
  • 2016-04-20
  • 2017-09-27
  • 2021-04-29
  • 2012-10-17
  • 2011-11-08
相关资源
最近更新 更多