PHPプログラミングの新機能です。私は添付ファイルを含むフォームを作成しようとしました。私はそれをテストしたが、私の電子メールにフォームを送信できませんでした。もし私が何かを見逃してしまったら、私のPHPコードを見てください。あなたの指導のために事前にありがとうございます。PHPメールフォームを送信できませんでした
エラーメッセージは次のとおりです。 警告:mail()[function.mail]:mail()関数のパラメータが不正です。メールは送信されません。 "$ sendMail = mail($ sendTo、$ mailSubject、null、$ header);"という行を指しています。以下は
私のPHPコードです:F3rr31r4 @
<?php
/*Retrive inputs from the form */
//Required fields
$fullName = $_POST["Fullname"];
$gender = $_POST["genderRadioGroup"];
$DOB = $_POST["DOB"];
$address = $_POST["Address"];
$state = $_POST["State"];
$zipCode = $_POST["Zipcode"];
$contactNo = $_POST["Contact"];
$emailAdd = $_POST["Email"];
//Optional fields
// If applicant filled the field, take it. Else, make it " - ".
$nickName = $_POST["Nickname"];
if($nickName!="")
{
$nickName = $nickName;
}
else
{
$nickName = " - ";
}
$description = $_POST["Description"];
if($description!="")
{
$description = $description;
}
else
{
$description = " - ";
}
//Message content
$message = <<<EOD
<br><hr><br>
Full Name: $fullName <br>
Nickname: $nickName <br>
Gender: $gender <br>
Date of Birth: $DOB <br>
Address: $address <br>
State: $state <br>
Zip Code: $zipCode <br>
Contact Number: $contactNo <br>
E-mail address: $emailAdd <br>
Description: $description <br>
EOD;
/* Uniqid Session */
$sessionID = md5(uniqid(time()));
/* Header */
//Sender
$header = "From: $fullName <$emailAdd> \n";
$header .= "Reply-To: $emailAdd \n";
//MIME
$header .= "MIME-Version: 1.0 \n";
$header .= "Content-type: multipart/mixed; boundary=\"".$sessionID."\"\n\n";
$header .= "This is a multi-part message in MIME format. \n";
$header .= "-- $sessionID \n";
$header .= "Content-type: text/html; charset=utf-8 \n";
$header .= "Content-transfer-encoding: 7bit \n\n";
$header .= "$message \n\n";
/* Attachment */
if($_FILES["Attachment"]["name"] != "") //If there is attachment
{
//Variables
$fileName = $_FILES["Attachment"]["name"];
$fileContent = chunk_split(base64_encode(file_get_contents($_FILES["Attachment"]["tmp_name"])));
//Adding attachment to header
$header .= "-- $sessionID \n\n";
$header .= "Content-Type: application/octet-stream; name=\"".$fileName."\"\n";
$header .= "Content-Transfer-Encoding: base64 \n";
$header .= "Content-Disposition: attachment; filename=\"".$fileName."\"\n\n";
$header .= $fileContent."\n\n";
}
/* Send Mail */
// Recipient
$sendTo = "[email protected]";
$mailSubject = "The Form - $fullName";
$sendMail = mail($sendTo, $mailSubject, null, $header);
if($sendMail)
{
echo "Thank you!";
}
else
{
echo "An error occured.";
}
?>
メールの内容をヘッダーに埋め込みます。電子メールの書式設定が不完全で、行末が間違っています....あなた自身のために多くの苦痛を払わずに、あなたのためにこれを行うためのツールを見つけてください。(phpmailerまたはswiftmailer) – symcbean