Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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
上传简历并通过Phpmailer 5.2.0发送_Php_Html - Fatal编程技术网

上传简历并通过Phpmailer 5.2.0发送

上传简历并通过Phpmailer 5.2.0发送,php,html,Php,Html,我有一个php网站。在这里,我有表格上传用户的简历(必须在一个word文件),并邮寄这个文件和用户信息给管理员。我使用了phpmailer5.2.0邮件功能。我将如何用这个附加的word文件编写php邮件函数请提前回复谢谢我为您做了一个演示。 表格 <form name="contactform" method="post" action="sendmail.php" enctype="multipart/form-data"> <table width="10

我有一个php网站。在这里,我有表格上传用户的简历(必须在一个word文件),并邮寄这个文件和用户信息给管理员。我使用了phpmailer5.2.0邮件功能。我将如何用这个附加的word文件编写php邮件函数请提前回复谢谢

我为您做了一个演示。 表格

<form name="contactform" method="post" action="sendmail.php" enctype="multipart/form-data">
        <table width="100%" border="0">
            <tr>
                <td id="ta">
                    <label for="title">Title *</label>
                </td>
                <td id="ta">
                    <select name="title">
                        <option value="0">Title</option>
                        <option value="1">Mr.</option>
                        <option value="2">Ms.</option>
                        <option value="3">Mrs.</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="first_name">First Name *</label>
                </td>
                <td id="ta">
                    <input  type="text" name="first_name" maxlength="50" size="30" required="required">
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="last_name">Last Name *</label>
                </td>
                <td  id="ta">
                    <input  type="text" name="last_name" maxlength="50" size="30" required="required">
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="email">Email Address *</label>
                </td>
                <td  id="ta">
                    <input  type="text" name="email" maxlength="80" size="30" required="required">
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="telephone">Telephone Number *</label>
                </td>
                <td  id="ta">
                    <input  type="text" name="telephone" maxlength="30" size="30" required="required">
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="comments">Details</label>
                </td>
                <td  id="ta">
                    <textarea  name="comments" maxlength="100000" cols="25" rows="6"></textarea>
                </td>
            </tr>
            <tr>
                <td id="ta">
                    <label for="file">Or upload a file (only word, excel or pdf)</label>
                </td>
                <td  id="ta">
                    <input type="file" name="file">
                </td>
            </tr>
            <tr>
                <td colspan="2" style="text-align:center" id="ta">
                    <input type="submit" value="Submit">
                </td>
            </tr>
        </table>
    </form>

头衔*
标题
先生
太太
夫人
名字*
姓*
电子邮件地址*
电话号码*
细节
或上传文件(仅限word、excel或pdf)
下面是sendmail.php文件

<?php

   require('PHPMailer/class.phpmailer.php');

   if(isset($_POST['email'])) {

   // EDIT THE 2 LINES BELOW AS REQUIRED
   //$email_to = "hidden";
   //$email_subject = "Request for Portfolio check up from ".$first_name." ".$last_name;

  $title = array('Title', 'Mr.', 'Ms.', 'Mrs.');
  $selected_key = $_POST['title'];
  $selected_val = $title[$_POST['title']]; 

  $first_name = $_POST['first_name']; // required
  $last_name = $_POST['last_name']; // required
  $email_from = $_POST['email']; // required
  $telephone = $_POST['telephone']; // not required
  $comments = $_POST['comments']; // required

   if(($selected_key==0))
     echo "<script> alert('Please enter your title')</script>";
      function clean_string($string) {
        $bad = array("content-type","bcc:","to:","cc:","href");
        return str_replace($bad,"",$string);
      }
     $email_message = "";
     $email_message .="Title: ".$selected_val."\n";
     $email_message .= "First Name: ".clean_string($first_name)."\n";
     $email_message .= "Last Name: ".clean_string($last_name)."\n";
     $email_message .= "Email: ".clean_string($email_from)."\n";
     $email_message .= "Telephone: ".clean_string($telephone)."\n";
     $email_message .= "Comments: ".clean_string($comments)."\n";

     $allowedExts = array("doc", "docx", "xls", "xlsx", "pdf");
     $temp = explode(".", $_FILES["file"]["name"]);
     $extension = end($temp);
       if ((($_FILES["file"]["type"] == "application/pdf")
        || ($_FILES["file"]["type"] == "application/msword")
        || ($_FILES["file"]["type"] == "application/excel")
        || ($_FILES["file"]["type"] == "application/vnd.ms-excel")
        || ($_FILES["file"]["type"] == "application/x-excel")
        || ($_FILES["file"]["type"] == "application/x-msexcel")
        || ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
        || ($_FILES["file"]["type"] == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))

          && in_array($extension, $allowedExts))
       {
        if ($_FILES["file"]["error"] > 0)
         {
          echo "<script>alert('Error: " . $_FILES["file"]["error"]."')</script>";
         }
          else
         {
       $d='upload/';
       $de=$d . basename($_FILES['file']['name']);
          move_uploaded_file($_FILES["file"]["tmp_name"], $de);
       $fileName = $_FILES['file']['name'];
       $filePath = $_FILES['file']['tmp_name'];
          //add only if the file is an upload
        }
       }
       else
       {
        echo "<script>alert('Invalid file')</script>";
       }
             // create email headers
    $headers = 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    //Create a new PHPMailer instance
    $mail = new PHPMailer();
    //Tell PHPMailer to use SMTP
    $mail->IsSMTP();
    //Enable SMTP debugging
    // 0 = off (for production use)
    // 1 = client messages
    // 2 = client and server messages
    $mail->SMTPDebug  = 0;
    //Ask for HTML-friendly debug output
    $mail->Debugoutput = 'html';
    //Set the hostname of the mail server
    $mail->Host       = "hidden";
    //Set the SMTP port number - likely to be 25, 465 or 587
    $mail->Port       = 25;
    //Whether to use SMTP authentication
    $mail->SMTPAuth   = true;
    //Username to use for SMTP authentication
    $mail->Username   = "hidden";
    //Password to use for SMTP authentication
    $mail->Password   = "hidden";
    //Set who the message is to be sent from
    $mail->SetFrom($email_from, $first_name.' '.$last_name);
    //Set an alternative reply-to address
    //$mail->AddReplyTo('replyto@example.com','First Last');
    //Set who the message is to be sent to
    $mail->AddAddress('hidden', 'hidden');
    //Set the subject line
    $mail->Subject = 'Request for Profile Check up';
    //Read an HTML message body from an external file, convert referenced images to embedded, convert HTML into a basic plain-text alternative body
    $mail->body($email_message);
    //Replace the plain text body with one created manually
    $mail->AltBody = 'This is a plain-text message body';
    //Attach an image file
    //$mail->AddAttachment($file);
    $mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);
    //Send the message, check for errors
        if(!$mail->Send()) {
          echo "<script>alert('Mailer Error: " . $mail->ErrorInfo."')</script>";
        } else {
          echo "<script>alert('Your request has been submitted. We will contact you soon.')</script>";
          Header('Location: main.php');
        }
    }
 ?>
**You need Phpmailer library in you root folder**

谢谢。。但我得到了一个最简单的解决方案,我实际上在寻找ie,$mail->AddAttachment($\u FILES['file']['tmp\u name'],$\u FILES['file']['name']);