我如何使用我的电子邮件来获取客人在 PHP 中发送的消息 [重复]

Posted

技术标签:

【中文标题】我如何使用我的电子邮件来获取客人在 PHP 中发送的消息 [重复]【英文标题】:How can i use my email to get the message send by the guest in PHP [duplicate] 【发布时间】:2018-01-16 23:34:54 【问题描述】:

我创建了一个简单的联系表格,我只想知道如何在此代码中使用我的电子邮件将客人的消息直接发送到我的电子邮件。我在 laravel 中使用这种形式。 这是联系表格代码:

This is my php code  

<?php

$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") 
  if (empty($_POST["name"])) 
    $nameErr = "Name is required";
   else 
    $name = test_input($_POST["name"]);

    if (!preg_match("/^[a-zA-Z ]*$/",$name)) 
      $nameErr = "Only letters and white space allowed"; 
    
  

  if (empty($_POST["email"])) 
    $emailErr = "Email is required";
   else 
    $email = test_input($_POST["email"]);

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) 
      $emailErr = "Invalid email format"; 
    
  

  if (empty($_POST["website"])) 
    $website = "";
   else 
    $website = test_input($_POST["website"]);

    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) 
      $websiteErr = "Invalid URL"; 
    
  

  if (empty($_POST["comment"])) 
    $comment = "";
   else 
    $comment = test_input($_POST["comment"]);
  

  if (empty($_POST["gender"])) 
    $genderErr = "Gender is required";
   else 
    $gender = test_input($_POST["gender"]);
  


function test_input($data) 
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;

?>

这是我的html代码

h2>PHP Form Validation Example</h2>
    <p><span class="error">* required field.</span></p>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
      Name: <input type="text" name="name" value="<?php echo $name;?>">
      <span class="error">* <?php echo $nameErr;?></span>
      <br><br>
      E-mail: <input type="text" name="email" value="<?php echo $email;?>">
      <span class="error">* <?php echo $emailErr;?></span>
      <br><br>
      Website: <input type="text" name="website" value="<?php echo $website;?>">
      <span class="error"><?php echo $websiteErr;?></span>
      <br><br>
      Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>
      <br><br>
      Gender:
      <input type="radio" name="gender" <?php if (isset($gender) && $gender=="female") echo "checked";?> value="female">Female
      <input type="radio" name="gender" <?php if (isset($gender) && $gender=="male") echo "checked";?> value="male">Male
      <span class="error">* <?php echo $genderErr;?></span>
      <br><br>
      <input type="submit" name="submit" value="Submit">  
    </form>

我还想知道如何在客人发送消息时向客人打印成功消息。成功消息应打印在联系表下方。

【问题讨论】:

使用 PHP mail() 函数。谢谢。 你可能已经搜索过这里有提示音的网站,向你展示如何使用 php 发送电子邮件。 【参考方案1】:

来自Laravel doc:

Laravel 在流行的 SwiftMailer 库上提供了一个干净、简单的 API,其中包含 SMTP、Mailgun、SparkPost、Amazon SES、PHP 的邮件功能和 sendmail 的驱动程序,允许您快速开始通过本地或基于云的方式发送邮件您选择的服务。

您需要配置您的 web 应用程序以使用您想要的 driver,例如gmail 或 PHP 的“邮件”功能。请参阅How to to send mail using gmail in Laravel 5.1? 的其他类似问题。

【讨论】:

我看不到 laravel 的问题 @Borjante "我在 laravel 中使用这个表单。".... 天哪……你说得对。这一定是我在 Laravel 中见过的最脏的形式之一

以上是关于我如何使用我的电子邮件来获取客人在 PHP 中发送的消息 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

当人们作为客人结账时如何管理来自贝宝的响应。没有贝宝账户

PHP 获取电子邮件附件

如何在 php 中使用 SMTP 发送电子邮件

FORM HELP - 获取 PHP 脚本以通过 ajax 发送电子邮件数据

从db获取数据并通过PHP中的Mailchimp发送邮件

如何指定PHP应该使用外部邮件服务器发送mail()?