2013-09-16 2 views
0

У меня проблема с прикреплением файла по электронной почте. Я использую этот код ниже (и единственный результат, который я получил, это письмо без вложения) Я хочу прикрепить файл, который является биографией.письмо с вложением вопрос

Вы можете мне помочь?

<?php 
require("class.phpmailer.php"); 

$mail = new PHPMailer(true); //New instance, with exceptions enabled 

$mail->CharSet = "UTF-8"; 
$bodys="Podanie od: ".$_POST['name']."<br/>"."Adres e-mail: ".$_POST['email']."<br/>"."Treść listu motywacyjnego: ".$_POST['message']; 
$mail->Body =$bodys; 

$mail->IsSMTP(); // tell the class to use SMTP 
$mail->SMTPAuth = true; // enable SMTP authentication 
$mail->Port = 25; // set the SMTP server port 
$mail->Host = "mail.example.info"; // SMTP server 
$mail->Username = "foobar"; // SMTP server username 
$mail->Password = "hunter2"; // SMTP server password 

$mail->IsSendmail(); // tell the class to use Sendmail 

$mail->AddReplyTo($_POST['email'],$_POST['name']); 

$mail->From = $_POST['email']; //uzupełnij sobie 
$mail->FromName = $_POST['name']; //uzupełnij sobie 

$to = '[email protected]'; //na jaki mail wysłać np [email protected] 

$mail->AddAddress($to); 

$mail->Subject = "Nowe podanie o pracę"; 

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
$mail->WordWrap = 80; // set word wrap 

$mail->MsgHTML($bodys); 


$plik_tmp = $_FILES['file']['tmp_name']; 
$plik_rozmiar = $_FILES['file']['size']; 
$plik_nazwa = $_FILES['file']['name']; 

if(is_uploaded_file($plik_tmp)) { 
    $nazwa_g=$plik_nazwa; 

    move_uploaded_file($plik_tmp, 'tmp_zal/'.$nazwa_g); 
    $mail->AddAttachment('tmp_zal/'.$nazwa_g); 
} 

$mail->IsHTML(true); // send as HTML 

if(!$mail->Send()) { 
    echo "Błąd"; 
    echo "Kod błędu: " . $mail->ErrorInfo; 
} else { 
    echo '<h3>Wiadomość została wysłana</h3>'; 
} 
?> 

и вот код формы:

<form method="post" name="formularzaplikacyjny" enctype="multipart/form-data" action="mail-attachment3.php" id="formmail"> 

     <div id="imiediv"><label for="name">Imię i nazwisko: <em>*</em> </label><br> 
         <input type="text" name="name" id="name" class="required" title="Wpisz swoje imię i nazwisko" placeholder="Jan Kowalski"></div><br> 

     <div id="emaildiv"><label for="email">Email: <em>*</em> </label><br> 
         <input type="text" name="email" class="required" id="email" title="Wpisz swój adres email" placeholder="[email protected]"></div><br> 

     <div id="listdiv"><label for="message">List motywacyjny: <em>*</em></label><br> 
         <textarea name="message" rows="5" cols="48" class="required" id="message" title="Wpisz treść listu motywacyjnego" placeholder="Tutaj zpowinna znaleźć się treść Twojego listu motywacyjnego" ></textarea></div> 

     <div id="cvdiv"><label for="uploaded_file">Wybierz plik CV: <em>*</em></label><br> 
         <input type="file" name="file" title="<h3>Wybierz plik CV do przesłania</h3>" class="required" id="file"></div><br> 

         <input type="submit" value="Prześlij" name="submit" id="submitbutton"> 
         </form> 
+0

вы можете отправить форму-страницу? индексная страница? –

+0

ok, post отредактировал – user2760441

ответ

0

Проблема, кажется, следующий ...

Измени Введите имя = "файл" с именем = "file_upload" или некоторые вещи else, как пример ... (файл не рекомендуется) Затем, согласно PHPMailer, вы должны передать два параметра в методе AddAttachment, например,

$mail->AddAttachment($tmpName, $file_name); 

Но, похоже, вы передаете только один,

$mail->AddAttachment('tmp_zal/'.$nazwa_g); 

вы думаете, что может поставить вас в беде?

Пожалуйста, перейдите сюда, чтобы увидеть подробный пример [Нажмите здесь]: http://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial.html#File_Attachments_PHP_Mail_PHPMailer

+0

Спасибо за ответ, я изменил имя ввода на 'uploaded_file' и изменил 'файл' на 'upluaded_file' в скрипте. Затем я изменил $ mail-> AddAttachment ('tmp_zal /'.$ nazwa_g); - $ mail-> AddAttachment ('tmp_zal /'.$ nazwa_g, $ plik_tmp); После этого он должен работать, но это не так ... Я очень расстроен, потому что я пробовал около 6 версий сценария, которые shoud посылают электронную почту с приложением, и никто не посылает мне эту неудачную заявку ... – user2760441

+0

К сожалению, когда я добавляю в конец этого кода скрипта ниже: print_r ($ _FILES); он возвращает мне эту информацию: «Wiadomość została wysłanaArray()» Это означает, что сообщение отправлено, но массив файлов пуст, почему так? Что не так в этом скрипте? – user2760441

Смежные вопросы