Php 在联系人表单中正确设置电子邮件
考虑到我使用PHP的经验有限,我使用了一个联系人表单生成器,它几乎可以按照我的要求工作。表单及其所有变量都正常工作,但是在收到电子邮件时,它会将我自己的域添加为发件人电子邮件。我想让填写联系人表单电子邮件的人作为发件人,这样我就可以轻松回复邮件(而不是从邮件内部复制和粘贴电子邮件地址) 以下是代码的一部分:Php 在联系人表单中正确设置电子邮件,php,email,field,contact-form,sender,Php,Email,Field,Contact Form,Sender,考虑到我使用PHP的经验有限,我使用了一个联系人表单生成器,它几乎可以按照我的要求工作。表单及其所有变量都正常工作,但是在收到电子邮件时,它会将我自己的域添加为发件人电子邮件。我想让填写联系人表单电子邮件的人作为发件人,这样我就可以轻松回复邮件(而不是从邮件内部复制和粘贴电子邮件地址) 以下是代码的一部分: <?php $where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_S
<?php
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
session_start();
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) {
// Checkbox handling
$field_4_opts = $_POST['field_4'][0].",". $_POST['field_4'][1].",". $_POST['field_4'][2];
// Checkbox handling
$field_5_opts = $_POST['field_5'][0].",". $_POST['field_5'][1].",". $_POST['field_5'][2].",". $_POST['field_5'][3];
mail("mail@mail.com","phpFormGenerator - Form submission","Form data:
Your Name:: " . $_POST['field_1'] . "
Country:: " . $_POST['field_2'] . "
Your Email:: " . $_POST['field_3'] . "
Your areas of interest:: $field_4_opts
What type of articles are you interested in writing?:: $field_5_opts
Any other types of articles that interest you?:: " . $_POST['field_6'] . "
Approximately how often will you contribute?: " . $_POST['field_7'] . "
Your blog/website:: " . $_POST['field_8'] . "
What would make you a good contributor?: " . $_POST['field_9'] . "
powered by phpFormGenerator.
");
include("confirm.html");
}
else {
echo "Invalid Captcha String.";
}
?>
<pre>
$headers = 'From: abc@example.com' . "\r\n" .
'Reply-To: def@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$message = "Form data:
Your Name:: " . $_POST['field_1'] . "
Country:: " . $_POST['field_2'] . "
Your Email:: " . $_POST['field_3'] . "
Your areas of interest:: $field_4_opts
What type of articles are you interested in writing?:: $field_5_opts
Any other types of articles that interest you?:: " . $_POST['field_6'] . "
Approximately how often will you contribute?: " . $_POST['field_7'] . "
Your blog/website:: " . $_POST['field_8'] . "
What would make you a good contributor?: " . $_POST['field_9'] . "
powered by phpFormGenerator.
";
$subject = "phpFormGenerator - Form submission"
$to = "mail@mail.com"
mail($to ,$subject,$message, $headers);
install.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>testing2 - created by phpFormGenerator</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"><link href="style.css" rel="stylesheet" type="text/css">
<!-- calendar stuff -->
<link rel="stylesheet" type="text/css" href="calendar/calendar-blue2.css" />
<script type="text/javascript" src="calendar/calendar.js"></script>
<script type="text/javascript" src="calendar/calendar-en.js"></script>
<script type="text/javascript" src="calendar/calendar-setup.js"></script>
<!-- END calendar stuff -->
<!-- expand/collapse function -->
<SCRIPT type=text/javascript>
<!--
function collapseElem(obj)
{
var el = document.getElementById(obj);
el.style.display = 'none';
}
function expandElem(obj)
{
var el = document.getElementById(obj);
el.style.display = '';
}
//-->
</SCRIPT>
<!-- expand/collapse function -->
<!-- expand/collapse function -->
<SCRIPT type=text/javascript>
<!--
// collapse all elements, except the first one
function collapseAll()
{
var numFormPages = 1;
for(i=2; i <= numFormPages; i++)
{
currPageId = ('mainForm_' + i);
collapseElem(currPageId);
}
}
//-->
</SCRIPT>
<!-- expand/collapse function -->
<!-- validate -->
<SCRIPT type=text/javascript>
<!--
function validateField(fieldId, fieldBoxId, fieldType, required)
{
fieldBox = document.getElementById(fieldBoxId);
fieldObj = document.getElementById(fieldId);
if(fieldType == 'text' || fieldType == 'textarea' || fieldType == 'password' || fieldType == 'file' || fieldType == 'phone' || fieldType == 'website')
{
if(required == 1 && fieldObj.value == '')
{
fieldObj.setAttribute("class","mainFormError");
fieldObj.setAttribute("className","mainFormError");
fieldObj.focus();
return false;
}
}
else if(fieldType == 'menu' || fieldType == 'country' || fieldType == 'state')
{
if(required == 1 && fieldObj.selectedIndex == 0)
{
fieldObj.setAttribute("class","mainFormError");
fieldObj.setAttribute("className","mainFormError");
fieldObj.focus();
return false;
}
}
else if(fieldType == 'email')
{
if((required == 1 && fieldObj.value=='') || (fieldObj.value!='' && !validate_email(fieldObj.value)))
{
fieldObj.setAttribute("class","mainFormError");
fieldObj.setAttribute("className","mainFormError");
fieldObj.focus();
return false;
}
}
}
function validate_email(emailStr)
{
apos=emailStr.indexOf("@");
dotpos=emailStr.lastIndexOf(".");
if (apos<1||dotpos-apos<2)
{
return false;
}
else
{
return true;
}
}
function validateDate(fieldId, fieldBoxId, fieldType, required, minDateStr, maxDateStr)
{
retValue = true;
fieldBox = document.getElementById(fieldBoxId);
fieldObj = document.getElementById(fieldId);
dateStr = fieldObj.value;
if(required == 0 && dateStr == '')
{
return true;
}
if(dateStr.charAt(2) != '/' || dateStr.charAt(5) != '/' || dateStr.length != 10)
{
retValue = false;
}
else // format's okay; check max, min
{
currDays = parseInt(dateStr.substr(0,2),10) + parseInt(dateStr.substr(3,2),10)*30 + parseInt(dateStr.substr(6,4),10)*365;
//alert(currDays);
if(maxDateStr != '')
{
maxDays = parseInt(maxDateStr.substr(0,2),10) + parseInt(maxDateStr.substr(3,2),10)*30 + parseInt(maxDateStr.substr(6,4),10)*365;
//alert(maxDays);
if(currDays > maxDays)
retValue = false;
}
if(minDateStr != '')
{
minDays = parseInt(minDateStr.substr(0,2),10) + parseInt(minDateStr.substr(3,2),10)*30 + parseInt(minDateStr.substr(6,4),10)*365;
//alert(minDays);
if(currDays < minDays)
retValue = false;
}
}
if(retValue == false)
{
fieldObj.setAttribute("class","mainFormError");
fieldObj.setAttribute("className","mainFormError");
fieldObj.focus();
return false;
}
}
//-->
</SCRIPT>
<!-- end validate -->
</head>
<body onLoad="collapseAll()">
<div id="mainForm">
<div id="formHeader">
<h2 class="formInfo">testing2</h2>
<p class="formInfo"></p>
</div>
<BR/><div id="footer"><p class="footer"><a class=footer href=http://phpformgen.sourceforge.net>Generated by phpFormGenerator</a></p></div>
</body>
</html>
测试2-由phpFormGenerator创建
测试2
您能找到我需要更改的内容吗?在PHP中调用函数之前添加相关的标题
$headers = 'From: user@example.com' . "\r\n" .
'Reply-To: user@example.com' . "\r\n";
mail($to, $subject, $message, $headers);
在您的情况下:
<?php
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
session_start();
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) {
// Checkbox handling
$field_4_opts = $_POST['field_4'][0].",". $_POST['field_4'][1].",". $_POST['field_4'][2];
// Checkbox handling
$field_5_opts = $_POST['field_5'][0].",". $_POST['field_5'][1].",". $_POST['field_5'][2].",". $_POST['field_5'][3];
$message = "Form data:
Your Name:: " . $_POST['field_1'] . "
Country:: " . $_POST['field_2'] . "
Your Email:: " . $_POST['field_3'] . "
Your areas of interest:: $field_4_opts
What type of articles are you interested in writing?:: $field_5_opts
Any other types of articles that interest you?:: " . $_POST['field_6'] . "
Approximately how often will you contribute?: " . $_POST['field_7'] . "
Your blog/website:: " . $_POST['field_8'] . "
What would make you a good contributor?: " . $_POST['field_9'] . "
powered by phpFormGenerator.
";
$headers = 'From: '.$_POST['field_3']. "\r\n" .
'Reply-To: '.$_POST['field_3'] . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail("mail@mail.com","phpFormGenerator - Form submission", $message, $headers);
include("confirm.html");
}
else {
echo "Invalid Captcha String.";
}
?>
你应该去学习PHP,自动生成的表单代码太糟糕了
<?php
$where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));
session_start();
if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) {
// Checkbox handling
$field_4_opts = $_POST['field_4'][0].",". $_POST['field_4'][1].",". $_POST['field_4'][2];
// Checkbox handling
$field_5_opts = $_POST['field_5'][0].",". $_POST['field_5'][1].",". $_POST['field_5'][2].",". $_POST['field_5'][3];
mail("mail@mail.com","phpFormGenerator - Form submission","Form data:
Your Name:: " . $_POST['field_1'] . "
Country:: " . $_POST['field_2'] . "
Your Email:: " . $_POST['field_3'] . "
Your areas of interest:: $field_4_opts
What type of articles are you interested in writing?:: $field_5_opts
Any other types of articles that interest you?:: " . $_POST['field_6'] . "
Approximately how often will you contribute?: " . $_POST['field_7'] . "
Your blog/website:: " . $_POST['field_8'] . "
What would make you a good contributor?: " . $_POST['field_9'] . "
powered by phpFormGenerator.
", 'From: ' . $_POST['field_3']);
include("confirm.html");
}
else {
echo "Invalid Captcha String.";
}
?>
我在mail()函数中添加了一个新参数,用于设置from头<代码>,“发件人:”$_POST['field_3']是我添加的内容。看起来字段_3应该包含用户的电子邮件。试试看它是否管用。只要让你的代码看起来漂亮一点,并添加一些标题即可。。这会帮你的忙的 有了header,你可以做任何你可以用你的电子邮件客户端做的事情,比如GMAIL。。(附加文件或任何其他内容)
$headers='来自:abc@example.com' . “\r\n”。
答复:def@example.com' . “\r\n”。
“X-Mailer:PHP/”。phpversion();
$message=“表单数据:
你的名字::”$_POST['field_1']。"
国家::”$_POST['field_2']。"
您的电子邮件::”$_POST['field_3']。"
您感兴趣的领域::$field\u 4\u选项
你对写什么类型的文章感兴趣?:$field\u 5\u opts
您感兴趣的任何其他类型的文章?:”$_POST['field_6']。"
您大概多久捐款一次?:”$_POST['field_7']。"
您的博客/网站::”$_POST['field_8']。"
什么能让你成为一名优秀的贡献者?:”$_POST['field_9']。"
由phpFormGenerator提供动力。
";
$subject=“phpFormGenerator-表格提交”
$to=”mail@mail.com"
邮件($to、$subject、$message、$headers);
这不起作用,它返回了namefield@myowndomain.comI复制并粘贴您的示例,但没有在顶部添加您的示例,因此该示例不起作用。然而,我所做的只是用现有的processor.php代码替换这段代码。你能用该文件的完整代码更新你的答案吗?我可以试试吗?我复制并粘贴了你的示例,但它不起作用。然而,我所做的只是用现有的processor.php代码替换这段代码。你能用该文件的完整代码更新你的答案吗?我可以试试吗?更新了我的答案。您应该真正学习PHP,并按照@Rogue Coder的建议更改代码。我正在学习,但感谢我只练习了一周。。。所以我必须从某个地方开始。无论如何,我添加了您更新的修复程序,但电子邮件返回了“user@example.com“作为发件人,而不是添加到表单中的电子邮件,我遗漏了什么?请再次检查答案。我改了:谢谢你,但还是不行。它像这样返回:$field_1@myowndomain.com