2012-01-08 17 views
0

お問い合わせフォームを作成しました。私は情報を私にメールするために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"); 
} 

私は試してみましたが、アップロードしたファイルを送信しようとしました。私は何も見つけることができません。それは難しいのですか、うまくいかないでしょう。私を助けてください。また

、それは言う:

['first_name']; 

は私の入力名を置く場所ということでしょうか?

また、ありがとうございました。それはthank_you.htmlと呼ばれています。私はフォームが送信された後に表示する必要があります!このような

+0

あなたは、 "私の入力名を入れて" とはどういう意味ですか? 誰かが "first_name"というhtml形式のフィールドに自分の名前を入力した場合、フォームを送信するときにこの値を '$ _POST ['first_name']'に入れます。 – fkerber

+0

'は私の入力名を置く場所ですか?' YES。ユーザー入力の消毒を確認してください。 – ZeroSuf3r

+0

はい、申し訳ありませんが、私は説明が悪いです。 –

答えて

0
$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); 

http://icrontic.com/discussion/7019/php-email-form-with-attachments

+0

私は受け取ることができる上記に追加されたスクリプトが必要ですファイル。 –

+0

あなたは添付ファイルとして送受信されることを意味しますか? –

+0

あなたがしようとしているものが添付ファイルを送信する場合: http://www.finalwebsites.com/forums/topic/php-e-mail-attachment-script –

0
$em = $_POST ['email']; 
list($username,$domain)=split('@',$em); 
if(!checkdnsrr($domain,'MX')) echo 'please enter a proper e-mail address.'; 

何かがまた、これはただのMXレコードをチェックし、有用であろう。..

関連する問題