我想要我简单的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.!';
答案 0 :(得分:2)
答案 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: <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);
?>