Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 电邮联络表格_Php_Html_Forms_Contact_Feedback - Fatal编程技术网

Php 电邮联络表格

Php 电邮联络表格,php,html,forms,contact,feedback,Php,Html,Forms,Contact,Feedback,好的,我已经做了一张联系表。我需要一个php脚本,以电子邮件给我的信息。以下是我到目前为止的情况: <?php $emailSubject = 'Contact Form'; $webMaster = 'email-here'; $firstName = $_POST ['first_name']; $lastName = $_POST['last_name']; $emailAddress = $_POST ['email']; $uploadFile = $_POST ['dataf

好的,我已经做了一张联系表。我需要一个php脚本,以电子邮件给我的信息。以下是我到目前为止的情况:

<?php
$emailSubject = 'Contact Form';
$webMaster = 'email-here';

$firstName = $_POST ['first_name'];
$lastName = $_POST['last_name'];
$emailAddress = $_POST ['email'];
$uploadFile = $_POST ['datafile'];
$questions = $_POST ['comments'];

/* If e-mail is not valid show error message */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
那是我输入名字的地方吗

还有,我有一个感谢页面。它被称为:thank_you.html,我需要在表单发送后显示它

$to_name=stripslashes($_POST['to_name']);
$to_name = stripslashes($_POST['to_name']);

$from_name = stripslashes($_POST['from_name']);

$subject = stripslashes($_POST['subject']);

$body = stripslashes($_POST['body']);

$to_email = $_POST['to_email'];

$attachment = $_FILES['attachment']['tmp_name'];

$attachment_name = $_FILES['attachment']['name']; 

if (is_uploaded_file($attachment)) { //Do we have a file uploaded?

  $fp = fopen($attachment, \"rb\"); //Open it

  $data = fread($fp, filesize($attachment)); //Read it

  $data = chunk_split(base64_encode($data)); //Chunk it up and encode it as base64 so it can emailed

    fclose($fp);

}

//Let's start our headers

$headers = \"From: $from_name<\" . $_POST['from_email'] . \">\n\";

$headers .= \"Reply-To: <\" . $_POST['from_email'] . \">\n\"; 

$headers .= \"MIME-Version: 1.0\n\";

$headers .= \"Content-Type: multipart/related; type=\\"multipart/alternative\\"; boundary=\\"----=MIME_BOUNDRY_main_message\\"\n\"; 

$headers .= \"X-Sender: $from_name<\" . $_POST['from_email'] . \">\n\";

$headers .= \"X-Mailer: PHP4\n\";

$headers .= \"X-Priority: 3\n\"; //1 = Urgent, 3 = Normal

$headers .= \"Return-Path: <\" . $_POST['from_email'] . \">\n\"; 

$headers .= \"This is a multi-part message in MIME format.\n\";

$headers .= \"------=MIME_BOUNDRY_main_message \n\"; 

$headers .= \"Content-Type: multipart/alternative; boundary=\\"----=MIME_BOUNDRY_message_parts\\"\n\"; 



$message = \"------=MIME_BOUNDRY_message_parts\n\";

$message .= \"Content-Type: text/plain; charset=\\"iso-8859-1\\"\n\"; 

$message .= \"Content-Transfer-Encoding: quoted-printable\n\"; 

$message .= \"\n\"; 

/* Add our message, in this case it's plain text.  You could also add HTML by changing the Content-Type to text/html */

$message .= \"$body\n\";

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_message_parts--\n\"; 

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_main_message\n\"; 

$message .= \"Content-Type: application/octet-stream;\n\tname=\\"\" . $attachment_name . \"\\"\n\";

$message .= \"Content-Transfer-Encoding: base64\n\";

$message .= \"Content-Disposition: attachment;\n\tfilename=\\"\" . $attachment_name . \"\\"\n\n\";

$message .= $data; //The base64 encoded message

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_main_message--\n\"; 



// send the message

mail(\"$to_name<$to_email>\", $subject, $message, $headers); 
$from_name=stripslashes($_POST['from_name']); $subject=stripslashes($_POST['subject']); $body=stripslashes($_POST['body']); $to_email=$_POST['to_email']; $attachment=$\文件['attachment']['tmp\u name']; $attachment\u name=$\u文件['attachment']['name']; 如果(是否上传了文件($attachment)){//我们是否上传了文件? $fp=fopen($attachment,\'rb\”);//打开它 $data=fread($fp,filesize($attachment));//读取它 $data=chunk\u split(base64\u encode($data));//将其分块并编码为base64,以便发送电子邮件 fclose($fp); } //我们开始吧 $headers=\“From:$From\u name\n\”; $headers.=\“回复:\n\”; $headers.=“MIME版本:1.0\n\”; $headers.=\“内容类型:多部分/相关;类型=\\”多部分/备选\“边界=\\”---=MIME\U边界\U主消息\“\n\”; $headers.=“X-Sender:$from\u name\n\”; $headers.=\“X-Mailer:PHP4\n\”; $headers.=\\“X优先级:3\n\”//1=紧急,3=正常 $headers.=\“返回路径:\n\”; $headers.=\“这是MIME格式的多部分消息。\n\”; $headers.=\“----=MIME\u边界\u主消息\n\”; $headers.=\“内容类型:多部分/可选;边界=\\”---=MIME\u边界\u消息\u部分\“\n\”; $message=\“---=MIME\u BOUNDRY\u message\u parts\n\”; $message.=\“内容类型:文本/普通;字符集=\\”iso-8859-1\\“\n\”; $message.=\“内容传输编码:带引号的可打印\n\”; $message.=\“\n\”; /*添加我们的消息,在本例中为纯文本。您还可以通过将内容类型更改为text/HTML来添加HTML*/ $message.=\“$body\n\”; $message.=\“\n\”; $message.=\“----=MIME\u BOUNDRY\u message\u parts--\n\”; $message.=\“\n\”; $message.=\“---=MIME\u BOUNDRY\u main\u message\n\”; $message.=\“内容类型:应用程序/八位字节流;\n\t名称=\\”\“\”$attachment\u名称。\“\\”\n\”; $message.=“内容传输编码:base64\n\”; $message.=\“内容处置:附件;\n\t文件名=\\\”\“$attachment\u名称。\“\\”\n\n\”; $message.=$data//base64编码的消息 $message.=\“\n\”; $message.=\“---=MIME\u BOUNDRY\u main\u message--\n\”; //发送消息 邮件(\“$to\\”、$subject、$message、$headers);


类似的内容也很有用,这只是检查mx记录。

你说的“输入我的名字”是什么意思?如果有人在名为“first\u name”的html公式字段中输入了他的名字,那么在提交表单时,
$\u POST['first\u name']
中就会有这个值。
就是我输入名字的地方吗?
是的。确保清理用户输入。是的,对不起,我不擅长解释。我真的需要一些帮助,我必须在今天完成这项工作,我非常紧张。请参阅或搜索“php文件上载”你会发现很多其他的例子说明你必须如何做。我需要在上面的脚本中添加一个脚本,以允许我接收文件。你是说作为附件接收还是发送?如果你想做的是发送附件:我想让一个人发送一个文件,然后让我接收。请查看该链接,这是一个很好的例子,你只需要广告文件处理部分(上传到tmp文件到你的服务器,然后发送)
$to_name = stripslashes($_POST['to_name']);

$from_name = stripslashes($_POST['from_name']);

$subject = stripslashes($_POST['subject']);

$body = stripslashes($_POST['body']);

$to_email = $_POST['to_email'];

$attachment = $_FILES['attachment']['tmp_name'];

$attachment_name = $_FILES['attachment']['name']; 

if (is_uploaded_file($attachment)) { //Do we have a file uploaded?

  $fp = fopen($attachment, \"rb\"); //Open it

  $data = fread($fp, filesize($attachment)); //Read it

  $data = chunk_split(base64_encode($data)); //Chunk it up and encode it as base64 so it can emailed

    fclose($fp);

}

//Let's start our headers

$headers = \"From: $from_name<\" . $_POST['from_email'] . \">\n\";

$headers .= \"Reply-To: <\" . $_POST['from_email'] . \">\n\"; 

$headers .= \"MIME-Version: 1.0\n\";

$headers .= \"Content-Type: multipart/related; type=\\"multipart/alternative\\"; boundary=\\"----=MIME_BOUNDRY_main_message\\"\n\"; 

$headers .= \"X-Sender: $from_name<\" . $_POST['from_email'] . \">\n\";

$headers .= \"X-Mailer: PHP4\n\";

$headers .= \"X-Priority: 3\n\"; //1 = Urgent, 3 = Normal

$headers .= \"Return-Path: <\" . $_POST['from_email'] . \">\n\"; 

$headers .= \"This is a multi-part message in MIME format.\n\";

$headers .= \"------=MIME_BOUNDRY_main_message \n\"; 

$headers .= \"Content-Type: multipart/alternative; boundary=\\"----=MIME_BOUNDRY_message_parts\\"\n\"; 



$message = \"------=MIME_BOUNDRY_message_parts\n\";

$message .= \"Content-Type: text/plain; charset=\\"iso-8859-1\\"\n\"; 

$message .= \"Content-Transfer-Encoding: quoted-printable\n\"; 

$message .= \"\n\"; 

/* Add our message, in this case it's plain text.  You could also add HTML by changing the Content-Type to text/html */

$message .= \"$body\n\";

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_message_parts--\n\"; 

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_main_message\n\"; 

$message .= \"Content-Type: application/octet-stream;\n\tname=\\"\" . $attachment_name . \"\\"\n\";

$message .= \"Content-Transfer-Encoding: base64\n\";

$message .= \"Content-Disposition: attachment;\n\tfilename=\\"\" . $attachment_name . \"\\"\n\n\";

$message .= $data; //The base64 encoded message

$message .= \"\n\"; 

$message .= \"------=MIME_BOUNDRY_main_message--\n\"; 



// send the message

mail(\"$to_name<$to_email>\", $subject, $message, $headers); 
$em = $_POST ['email'];
list($username,$domain)=split('@',$em);
if(!checkdnsrr($domain,'MX')) echo 'please enter a proper e-mail address.';