提交表单后如何向发件人和我发送确认电子邮件

时间:2019-02-24 21:25:08

标签: php

我想向提交表单的用户发送一封确认电子邮件,并向我发送一封电子邮件,其中包含用户输入的详细信息,这是我的表单:

<form class="" action="." id="dateForm" method="POST">
      <input type="text" class="form-control" id="dfName" placeholder="Name" required> 
      <input type="email" class="form-control" id="dfEmail" placeholder="Email" required>
      <input type="tel" class="form-control" id="dfPhone" placeholder="Phone Number" required>
      <input type="text" class="form-control" id="dfDate" placeholder="Schedule a call" required>
      <textarea id="dfMessage" rows="5" class="form-control" placeholder="Your Message"  required></textarea>
      <button type="submit" class="">SUBMIT</button>
</form>

这是我的php,非常适合向我发送电子邮件。

$name = trim($_POST['name']);
$email = trim($_POST['email']);
$phone = trim($_POST['phone']);
$date = trim($_POST['date']);
$message = trim($_POST['message']);

function is_email_valid($email) {
return filter_var($email, FILTER_VALIDATE_EMAIL);
}

if( isset($name) && isset($email) && isset($phone) && isset($date) && isset($message) && is_email_valid($email) ) {

$to = "myemail@gmail.com";
$subject = "New inquiry request from Olho";

$body = <<<EOD
<strong>Name:</strong> $name <br>
<strong>Email:</strong> <a href="mailto:$email?subject=feedback" "email me">$email</a> <br> <br>
<strong>Phone:</strong> $phone <br>
<strong>Booking Date:</strong> $date <br>
<strong>Message:</strong> $message <br>
EOD;

$headers = "From: $name <$email>\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $body, $headers);

因此,我希望在发送给我一封邮件后再收到一封电子邮件,其中包含确认信息,例如:“感谢您与我们联系,我们将尽快与您联系。”

我尝试使用此邮件,但未收到确认电子邮件:

$conf_subject = 'Your recent enquiry';
$conf_sender = 'Olho';
$msg = $name . ",\n\nThank you for your recent enquiry. A member of our 
team will respond to your message as soon as possible.";

$headers2 = "From: $conf_sender <myemail@gmail.com>\r\n";
$headers2 .= 'MIME-Version: 1.0' . "\r\n";
$headers2 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail( $email, $conf_subject, $msg, $headers2 );

1 个答案:

答案 0 :(得分:0)

您应该等待第一封邮件完成,然后再发送第二封电子邮件,如下所示:

if (mail($to, $subject, $body, $headers)) {
    $conf_subject = 'Your recent enquiry';
    $conf_sender = 'Olho';
    $msg = $name . ",\n\nThank you for your recent enquiry. A member of our 
    team will respond to your message as soon as possible.";

    $headers2 = "From: $conf_sender <myemail@gmail.com>\r\n";
    $headers2 .= 'MIME-Version: 1.0' . "\r\n";
    $headers2 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    mail( $email, $conf_subject, $msg, $headers2 );
}

希望它对您有帮助。