使用php将表单数据发送到电子邮件

sending form data to email with php

本文关键字:电子邮件 数据 php 表单 使用      更新时间:2023-10-31

我写了一个php页面,将表单数据发送到我的电子邮件中。问题是,当用户单击提交时,他会自动移动到空白php页面。我希望用户不要移动到一个空白的php页面,而是停留在同一个页面上,而不是表单字段,他会看到一条消息,比如"谢谢你联系我们"。我该怎么做?我该如何设计此消息的样式?

此外,所有表单数据都显示在电子邮件主题上(而不是邮件正文中)。有什么办法改变它吗?

这是PHP:

<?php
    error_reporting(E_ALL);
    ini_set("display_errors", "On");
    $subject="Message from Web";
    $sender=$_POST["user-name"];
    $senderEmail=$_POST["email"];
    $senderPhone=$_POST["phone"];
    $senderCompany=$_POST["company"];
    $message=$_POST["message"];
    $mailBody="Name: $sender'nEmail: $senderEmail'nPhone: $senderPhone'nCompany: $senderCompany'n'n$message";
    mail('mymail@gmail.com', $mailBody, $sender);
    $thankYou="<p>Thank you! Your message has been sent.</p>";
?>
<form method="post">
<input type="text" name="to-e-mail">
<input type="text" name="subject">
<textarea name="message">
</textarea>
<input type="submit" value="send">
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$headers = 'From: sender@mail.com' . "'r'n" .
    'X-Mailer: PHP/' . phpversion();
mail($_POST['to-e-mail'],$_POST['subject'],$_POST['message'],$headers);
print 'thank you for contacting us';
}
?>

如何使用php发送邮件的非常简单的示例。请检查安全要求。