php表单发送到电子邮件字段中输入的电子邮件

时间:2014-04-09 02:57:42

标签: php

我想要我简单的php邮件表单,保持向我发送填写的表单;但我也想根据他们输入的电子邮件地址字段向他们发送确认信息 - 想知道是否可以发送到表格中插入的电子邮件。

例如:用户按要求填写字段中的电子邮件地址;这是在提交时发送自定义确认的地方(以及提交给我的表格)

注意://将向每个表单用户发送相同的确认。我只是想写;使用PHP - 将此消息发送到当前用户在电子邮件字段中插入的电子邮件地址。

更新:


我目前在我的电子邮件中提交表单:

$emailAddress = 'myemail@myemail.com';

我正在使用以下字段:

Email:  '.$_POST['email'].'<br />

如何编辑它以发送给用户输入的'电子邮件作为他们的电子邮件地址' - 并随之吐出一般信息?


最近的尝试:

$emailAddress = 'myemail@myemail.com';
$to      = $_POST['email'];
$message = 'Thank you for submitting the form on our website.!';

表格正常提交;但不会向'$to = $_POST['email'];'发送确认信息

任何指针?


完整代码:

<?php


$emailAddress = 'myemail@myemail.com';
$to      = $_POST['email'];
$message = 'Thank you for submitting the form on our website.!';

/* config end */


require "phpmailer/class.phpmailer.php";

session_name("fancyform");
session_start();    


foreach($_POST as $k=>$v)
{
    if(ini_get('magic_quotes_gpc'))
    $_POST[$k]=stripslashes($_POST[$k]);

    $_POST[$k]=htmlspecialchars(strip_tags($_POST[$k]));
}


$err = array();

if(!checkLen('name'))
    $err[]='The name field is too short or empty!';

if(!checkLen('email'))
    $err[]='The email field is too short or empty!';
else if(!checkEmail($_POST['email']))
    $err[]='Your email is not valid!';

/* if(!checkLen('phone'))
    $err[]='The phone field is too short or empty!'; */

/*if(!checkLen('subject'))
    $err[]='You have not selected a subject!';*/

/* if(!checkLen('message'))
    $err[]='The message field is too short or empty!';*/

if((int)$_POST['captcha'] != $_SESSION['expect'])
    $err[]='The captcha code is wrong!';


if(count($err))
{
    if($_POST['ajax'])
    {
        echo '-1';
    }

    else if($_SERVER['HTTP_REFERER'])
    {
        $_SESSION['errStr'] = implode('<br />',$err);
        $_SESSION['post']=$_POST;

        header('Location: '.$_SERVER['HTTP_REFERER']);
    }

    exit;
}


$msg=
'Name:  '.$_POST['name'].'<br />
Phone:  '.$_POST['phone'].'<br />
Email:  '.$_POST['email'].'<br />
IP: '.$_SERVER['REMOTE_ADDR'].'<br /><br />
Referred By:    '.$_POST['referer'].'<br /><br />
Message:<br /><br />

'.nl2br($_POST['message']).'

';


$mail = new PHPMailer();
$mail->IsMail();

$mail->AddReplyTo($_POST['email'], $_POST['name']);
$mail->AddAddress($emailAddress);
$mail->SetFrom($_POST['email'], $_POST['name']);
$mail->Subject = "A new Bridgetower.com Lead".mb_strtolower($_POST['subject'])." from ".$_POST['name']." | Via your contact form feedback";

$mail->MsgHTML($msg);

$mail->Send();


unset($_SESSION['post']);

if($_POST['ajax'])
{
    echo '1';
}
else
{
    $_SESSION['sent']=1;

    if($_SERVER['HTTP_REFERER'])
        header('Location: '.$_SERVER['HTTP_REFERER']);

    exit;
}

function checkLen($str,$len=2)
{
    return isset($_POST[$str]) && mb_strlen(strip_tags($_POST[$str]),"utf-8") > $len;
}

function checkEmail($str)
{
    return preg_match("/^[\.A-z0-9_\-\+]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $str);
}

?>

我怎么输出:

$to      = $_POST['email'];
$message = 'Thank you for submitting the form on our website.!';

3 个答案:

答案 0 :(得分:2)

看看PHPMailer。它是发送电子邮件的漂亮手库。

http://phpmailer.worxware.com

然后,您可以使用GET或POST变量将电子邮件发送到服务器

答案 1 :(得分:1)

当然可以这样做。它和听起来一样直截了当。我建议使用像phpmailer这样的邮件程序帮助程序,但你也可以使用php邮件功能。

//check the email is real
if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
    $to      = $_POST['email'];
    $subject = 'Thanks for filling out my form';
    $message = 'The message';
    $headers = 'From: me@mywebsite.com' . "\r\n" .
    'Reply-To: webmaster@mywebsite.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
}

直接取消manual

答案 2 :(得分:0)

我相信您正在寻找内置的PHP mail()功能。您将表单发布到PHP页面,使用HTML,如下所示:

<form action="your_php_script.php" method="post">
E-mail:&nbsp;<input type="text" name="email" />
<input type="submit" value="submit">
</form>

并且your_php_script.php喜欢这样:

<?php
$to      = $_POST['email'];
$subject = 'Confirmation E-mail';
$message = 'Thank you for submitting the form on our website.';
$headers = 'From: donotreply@yoursite.com' . "\r\n" .
    'Reply-To: webmaster@yoursite.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>

http://php.net/manual/en/function.mail.php