PHP posta eki boş

5 Cevap php

Ben bir eki kabul ve eki göndermek için formu var ama bir doktor ise boş bulunuyor:

   $fileatt = $_FILES['file']['tmp_name'];
   $fileattType = $_FILES['file']['type'];
   $fileattName = $_FILES['file']['name'];
   $file = fopen($fileatt,'rb');
   $data = fread($file,filesize($fileatt));
   fclose($file);

   $semi_rand = md5(time());
   $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

   $headers = "from: $email";

   $headers .= "\nMIME-Version: 1.0\n" .
        "Content-Type: multipart/mixed;\n" .
        " boundary=\"{$mime_boundary}\"";

   $content = "Info about user";

   $content = "This is a multi-part message in MIME format.\n\n" .
        "--{$mime_boundary}\n" .
        "Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
        "Content-Transfer-Encoding: 7bit\n\n" .
        $content . "\n\n";

   $data = chunk_split(base64_encode($data));

   $content .= "--{$mime_boundary}\n" .
        "Content-Type: {$fileattType};\n" .
        " name=\"{$fileattName}\"\n" .
        "Content-Disposition: attachment;\n" .
        " filename=\"{$fileattName}\"\n" .
        "Content-Transfer-Encoding: base64\n\n" .
        $data . "\n\n" .
        "--{$mime_boundary}--\n";

   $send = mail( "user@provider.com", "Form", $content, $headers);
         if($send)
            header('Location: success page');
         else
            header('Location: fail page');

E-posta, doğru adı, dosya türü ve dosya boyutu ile bir eki var, doğru gönderir. o açtığında boş olduğunu.

http://articles.sitep ...... mail-php / 5: Ben sitepoint gelen öğretici var

Ben sağladıkları dosyaları test edilmiş ve aynı şey olur. Herhangi bir fikir harika olurdu. teşekkürler herkese!

5 Cevap

Why not use a decent library for sending emails?

Ben kuvvetle e-postalar göndermek için bir kütüphaneyi kullanarak başlamanızı öneririz, bu e-posta yazma sürecini kolaylaştırır ve daha bir çok geçici kod yapar.

Ben, Swiftmailer için mükemmel özelliklere sahip bir aktif gelişmiş kütüphane kefil olabilir.

Ekleri, satır içi görüntülerin ve birden fazla alıcıya gibi özellikle karmaşık görevleri kolaylıkla uygulanmaktadır.

I strongly gibi Swift gibi e-postalar göndermek için önceden bir aracı kullanarak öneriyoruz. İşte sizin için ilgilenir bu uyarılar bir yeri vardır ve kullanımı oldukça kolaydır.

SO hoşgeldiniz.

Bu soruya doğrudan bir cevap değil, ama PHPMailer . It has all the quirks, encoding and attaching functions already built in, which is much less error-prone than doing it by hand. If you want to go that way, maybe this collection of tutorial links PHPMailer olduğu gibi hazır bir e-posta sınıfını kullanmak başlamanıza yardımcı olacaktır öneriyoruz.

Belki \r\n yerine bu \n\n kullanabiliyordu