2016-07-06 9 views
0

ユーザーが選択した添付ファイルをhtml形式(例:pdfファイル)で送信し、電子メールで送信します。添付ファイルをPHPMailerを使用してアップロードする

私はすべての入力をメールで送ることができますが、添付書類は、助けてください、何か助けていただければ幸いです。ここに私のコードは

<label>Mail : </label> 
    <input name="email" type="text" placeholder="mail adress"> 
    <div class="box"> 

    &nbsp; 

    <input type="file" name="file" id="file" class="inputfile inputfile-5" /> 
    </div> 

そして、私のフォームhandler.php(私は必要な行をアップロードしています)です:

<?php 

    $file = $_POST['file']; 

    $email = $_POST['email']; 

    require $_SERVER["DOCUMENT_ROOT"] . '/PHPMailer/PHPMailerAutoload.php'; 

     $mail = new PHPMailer; 

     $mail->isSMTP(); 
     $mail->SMTPDebug = 0; 
     $mail->Debugoutput = 'html'; 
     $mail->Host = '*****'; 
     $mail->SMTPAuth = true; 
     $mail->Username = '****'; 
     $mail->Password = '****'; 
     $mail->From = $email; 
     $mail->SMTPSecure = 'tls'; 
     $mail->Port = ****; 

     $mail->setFrom('*****', '*****'); 

     $mail->addAddress('*****', '*****'); 

     $mail->Subject = utf8_decode("Thank you for signing up"); 




     $mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']); 

     $mail->Body = ($file); 

     //$mail->AltBody = utf8_decode($file); 

     if (!$mail->Send()) { 
      echo "error. <p>"; 
      echo "Mailer Error: " . $mail->ErrorInfo; 
      exit; 
     } 

     echo "mail sent"; 

?> 
+0

ファイルをアップロードしていますか? $ _FILES ['file'] ['tmp_name']をエコーすると、何が得られますか? –

+0

私は何も得ていない、空白!エラーはありません! –

+0

ファイルがアップロードされていません。あなたはファイルをアップロードし、添付ファイルのファイルにパスを追加する必要があります –

答えて

0

添付ファイルがどこにあるか見つける必要がある添付ファイルを送信する前に。したがって、ファイルをアップロードするときに、そのファイルを特定のフォルダにアップロードするように割り当てることができます。

move_uploaded_file($_FILES["file"]["tmp_name"],"./upload/" . $_FILES["file"]["name"]); 

この場合、私たちのディレクトリに "upload"フォルダを作成し、このディレクトリにファイルを保存します。 ファイルをアップロードした後、パスを1つの変数に保存する必要があります。 これはトリックを行います。

$filename = "./upload/" . $_FILES["file"]["name"]; 

私たちは必要なものすべてを持っており、添付ファイルとして電子メールで送信することができます。

$mail->AddAttachment($filename); 

私はこれが助けてくれることを願っています。

+0

ありがとう、これは助けてくれました。私のコードを整理しました。今はうまくいきます。 –

+0

私はここに喜んでいます:) –

+0

@ Coby_131答えがあなたのコードをあなたの質問 –

関連する問題