Я делаю форму в 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"; } ?>
.<?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"; } ?>
.<?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"; } ?>
вы можете использовать класс 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');
включите его в свой код. я надеюсь, что это сработает для вас
Есть лучший способ отправить электронную почту с помощью php. Я бы порекомендовал вам попробовать использовать phpMailer. Вы можете получить его здесь . phpMailer неплохой и очень хорошо обрабатывает приложения
попробуй это, его работая отлично ..!
<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; } } ?>