我正在制作一个html中的表单,其中有一个上传按钮和用户的一些细节。我想发送表单的所有细节以及从用户上传的文件。但它不起作用。我是发布我的html代码和Php代码的代码。告诉我我失踪的地方。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<body>
<div class="element">
<a href="index.php"><img src="logo.gif"></a>
<br><br>
<div class="new"></div>
<center><h2>Submit Your Information below</h2></center>
<form name="registration" method="post" action="fromaction.php" enctype="mutipart/form-data" autocomplete="off">
<!-- <span class="erorr"> --->
<div class="image"></div>
<label>Name:</label>
<input id="box1" placeholder="Type here" type="text" name="Name:" required>
<br><br>
<label>Email:</label><input id="box2" placeholder="Type here" type="email" name="Email:" required >
<br>
<br>
<label>Time period in which you will join</label>
<select id ="myList" name="Time Required by user to Join the company" >
<option value="Immediate" required>Immediate</option>
<option value="Less than one month">Less than one month</option>
<option value="1 month">1 month</option>
<option value="2 months">2 months</option>
</select>
<br><br>
<label>Linkedin Link:</label>
<input type="text" id="box3" name="Linkedin ID" placeholder="https://www" required >
<br><br>
<label for="workexcel">What job responsibilities and duties do you excel at?</label>
<textarea name="At which The User is Excel in:" placeholder="Type Here.." id="add" rows="2" cols="2" maxlength="300" required></textarea>
<br><br>
<label>Tell me about a challenge or conflict you've faced at work, and how you dealt with it.</label>
<textarea name="How user dealt with challenge or conflict" placeholder="Type Here.." rows="2" cols="2" maxlength="300" required ></textarea>
<br><br>
<label for"twork">What is your greatest professional achievement?</label>
<textarea name="User Professional achievement:" placeholder="Type here.." id="twork" rows="10" cols="30" maxlength="300" required></textarea>
<br>
<br><br>
<label for="det">Tell us something about Yourself</label>
<textarea name= "Details About the user" placeholder="Type here.." id="det" rows="10" cols="30" maxlength="300" required ></textarea>
<br><br>
<label for="resume">Attach Your Resume here </label>
<input type="file" name="uploaded_file">
<br><br>
<input type="checkbox" value="Area" required> I understand that I am applying for the job which is of my Area of field.
<br>
<h1><input id="submit" type="Submit" value="Submit"></h1>
<!-- </span> -->
</form>
</div>
</body>
</head>
</html>
PHP代码
<?php
$c_name=$_POST['Name:']; // Contain Candidate name
$c_email=$_POST['Email:']; // Contain email
$c_time=$_POST['Time Required by user to Join the company'];
$c_linkedin=$_POST['Linkedin ID'];
$c_Excel=$_POST['At which The User is Excel in:'];
$c_challenge=$_POST['How user dealt with challenge or conflict'];
$c_professional=$_POST['User Professional achievement:'];
$c_details=$_POST['Details About the user'];
$file_name=$_FILES['uploaded_file']['name'];
$temp_name=$_FILES['uploaded_file']['tmp_name'];
$file_type=$_FILES['uploaded_file']['type'];
//get the extension of the file
$base = basename($file_name);
$extension=substr($base, strlen($base)-4,strlen($base));
$allowed_extensions=array(".doc","docx",".pdf",".zip",".png");
if(in_array($extension,$allowed_extensions)){
$from = $_POST['Email:'];
$to = "singhiabhin26@gmail.com";
$subject = "testing";
$message = "<table width='800' border='1' cellspacing='0' cellpadding='8' bordercolor='#CCCCC'>
<tr>
<td colspan='2' bgcolor='#CDD9F5'><strong>Candidate Details</strong></td>
</tr>
<tr>
<td width='168' bgcolor='#FFFFEC'><strong>Candidate Name</strong></td>
<td width='290' bgcolor='#FFFFEC'>$c_name</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>E-mail ID</strong></td>
<td bgcolor='#FFFFDD'>$c_email</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Time required by user to Join the Company</strong></td>
<td bgcolor='#FFFFDD'>$c_time</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Linkedin ID</strong></td>
<td bgcolor='#FFFFDD'>$c_linkedin</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Excel</strong></td>
<td bgcolor='#FFFFDD'>$c_Excel</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>challenge</strong></td>
<td bgcolor='#FFFFDD'>$c_challenege</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>professional</strong></td>
<td bgcolor='#FFFFDD'>$c_professional</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>details</strong></td>
<td bgcolor='#FFFFDD'>$c_details</td>
</tr>
</table>";
$file=$temp_name;
$content = chunk_split(base64_encode(file_get_contents($file)));
$uid=md5(uniqid(time()));
$header= "From: ".$from."\r\n";
$header.= "reply to:" .$replyto."\r\n";
$header.= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .="this is multipart mesage in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/plain; charset=iso-8859-1\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:".$file_type."; name=\"".$file_name."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$file_name."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
if(mail($to, $subject, "", $header)){
echo "success";
}else{
echo"fail";
}
}else{
echo "file type not allowed";
}
?>
答案 0 :(得分:1)
您可以使用phpmailer类以及此功能
function send_mail_with_attachment($upload_path,$from_name,$from_mail,$replyto,$to,$message,$filenames,$subject) {
$mail = new PHPMailer;
//$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->setFrom($from_mail, $from_name);
$mail->addAddress($to); // Add a recipient
$mail->addBCC('test@test.net');
$mail->addBCC('test@test.com');
$mail->addAttachment($upload_path.$filenames); // Add attachments
// Optional name
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = $message;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'success';
}
}
只需下载phpmailer类,require_once('includes/php_mailer/class.phpmailer.php');
将其包含在您的代码中。我希望它对你有用
答案 1 :(得分:0)
使用php发送电子邮件的更好方法。我建议你尝试使用phpMailer。你可以得到它here。 phpMailer相当不错,可以很好地处理附件
答案 2 :(得分:0)
试试这个工作正常......!
<div class="element">
<a href="http://tenmiles.com/index.php"><img src="logo.gif"></a>
<br><br>
<div class="new"></div>
<center><h2>Submit Your Information below</h2></center>
<form action="1.php" method="post" enctype="multipart/form-data" autocomplete="off">
<!-- <span class="erorr"> --->
<div class="image"></div>
<label>Name:</label>
<input id="box1" placeholder="Type here" type="text" name="Name" required>
<br><br>
<label>Email:</label><input id="box2" placeholder="Type here" type="email" name="Email" required >
<br>
<br>
<label>Time period in which you will join</label>
<select id ="myList" name="Time" >
<option value="Immediate" required>Immediate</option>
<option value="Less than one month">Less than one month</option>
<option value="1 month">1 month</option>
<option value="2 months">2 months</option>
</select>
<br><br>
<label>Linkedin Link:</label>
<input type="text" id="box3" name="Linkedin_ID" placeholder="https://www" required >
<br><br>
<label for="workexcel">What job responsibilities and duties do you excel at?</label>
<textarea name="excel" placeholder="Type Here.." id="add" rows="2" cols="2" maxlength="300" required></textarea>
<br><br>
<label>Tell me about a challenge or conflict you've faced at work, and how you dealt with it.</label>
<textarea name="conflict" placeholder="Type Here.." rows="2" cols="2" maxlength="300" required ></textarea>
<br><br>
<label for"twork">What is your greatest professional achievement?</label>
<textarea name="Professional" placeholder="Type here.." id="twork" rows="10" cols="30" maxlength="300" required></textarea>
<br>
<br><br>
<label for="det">Tell us something about Yourself</label>
<textarea name= "About" placeholder="Type here.." id="det" rows="10" cols="30" maxlength="300" required ></textarea>
<br><br>
<label for="resume">Attach Your Resume here </label>
<input type="file" name="smtpimg">
<br><br>
<input type="checkbox" value="Area" required> I understand that I am applying for the job which is of my Area of field.
<br>
<h1><input id="submit" type="Submit" name="submit" value="Submit"></h1>
<!-- </span> -->
</form>
</div>
</body>
</head>
</html>
你的php在这里使用smtp代码
<?php
include "PHPMailer_5.2.4/class.phpmailer.php";
if(isset($_POST["submit"])){
// $email = $_POST["emailfrom"];
$target_dir = "smtpimg/";
$target_file= $target_dir .time().basename($_FILES['smtpimg']['name']);
$movefile=move_uploaded_file($_FILES['smtpimg']['tmp_name'], $target_file);
$message = "<table width='800' border='1' cellspacing='0' cellpadding='8' bordercolor='#CCCCC'>
<tr>
<td colspan='2' bgcolor='#CDD9F5'><strong>Candidate Details</strong></td>
</tr>
<tr>
<td width='168' bgcolor='#FFFFEC'><strong>Candidate Name</strong></td>
<td width='290' bgcolor='#FFFFEC'>'".$_POST['Name']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>E-mail ID</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['Name']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Time required by user to Join the Company</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['Email']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Linkedin ID</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['Linkedin_ID']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>Excel</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['excel']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>challenge</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['conflict']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>professional</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['Professional']."'</td>
</tr>
<tr>
<td bgcolor='#FFFFDD'><strong>details</strong></td>
<td bgcolor='#FFFFDD'>'".$_POST['About']."'</td>
</tr>
</table>";
print_r($message);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->IsHTML(true);
$mail->Username = "yourusername@gmail.com";
$mail->Password = "yourgmailpassword";
$mail->AddReplyTo("reply@yourdomain.com", "Reply name");
$mail->AddAddress($_POST['Email'],'ashu');
$mail->Subject = "SMTP Receivced";
$mail->Body = "<b>Succesfully SMTP Receivced</b>";
$mail->AddAttachment($target_file);
$mail->MsgHTML($message);
$text = 'Text version of email';
$html = '<html><body>HTML version of email</body></html>';
$file = 'index.php';
$crlf = "\n";
$hdrs = array(
'From' => 'you@yourdomain.com',
'Subject' => 'Test mime message'
);
if($mail->send($hdrs))
{
echo "<script> alert('Successfully Mailed');window.location = 'pra-2.php';</script>";
}
else{
echo "Mailed Error: " . $mail->ErrorInfo;
}
}
?>