Tamam arkadaşlar, bu benim ilk iş parçacığım ve çevrimiçi arama yaptım ancak şanssızım. Staj yapıyorum ve bir kullanıcı kendi bilgilerini gönderdiğinde bir pdf dosyası oluşturan bir web sayfası oluşturmamı gerektiren bir proje üzerinde çalışıyorum.PDF Dosya eki ile e-posta gönderme PHP kullanarak dosya eki
-
veritabanı (yapıldı) için
- Mağaza bilgi,
- , yeni müşteri bilgileri (yapıldı) ile personel bir email gönder ve: En kısa sürede bir müşteri Gönder düğmesini tıkladığında olarak, 3 şeyler olmaya gerek
- Müşteriye bir "teşekkür mesajı" e-postası bir pdf dosyası ekiyle (çalışmıyor) gönderin. Yani
, müşteri e-posta almak, ama o/o pdf dosyası açtığında, aşağıdaki hata iletisi alıyorum:
"Acrobat o Oen 'dosya_adı' değil çünkü ya desteklenen bir dosya türünü değil ya da dosya bozuk olduğundan (örneğin, bir e-posta eki olarak gönderildi ve doğru şekilde kodu çözülmedi) ... "
Lütfen bunun fisrt zamanım olduğunu unutmayın pdf dosyası eki oluşturma projesi. Birisi bu sorunu çözmeme yardımcı olabilirse, bu harika olurdu. Teşekkürler!
<?php
// once there are no errors, as soon as the customer hits the submit button, it needs to send an email to the staff with the customer information
$msg = "Name: " .$_POST['name'] . "\n"
."Email: " .$_POST['email'] . "\n"
."Phone: " .$_POST['telephone'] . "\n"
."Number Of Guests: " .$_POST['numberOfGuests'] . "\n"
."Date Of Reunion: " .$_POST['date'];
$staffEmail = "staffinfo";
mail($staffEmail, "You have a new customer", $msg); // using the mail php function to send the email. mail(to, subject line, message)
//once the customer submits his/her information, he/she will receive a thank you message attach with a pdf file.
$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont("Arial", "B", 16);
$pdf->Cell(40, 10, "Hello World!");
// email information
$to = $_POST['email'];
$from = $staffEmail;
$subject = "Thank you for your business";
$message = "Thank you for submitting your information!";
// a random hash will be necessary to send mixed content
$separator = md5(time());
// carriage return type (we use a PHP end of line constant)
$eol = PHP_EOL;
// attachment name
$filename = "yourinformation.pdf";
// encode data (puts attachment in proper format)
$pdfdoc = $pdf->Output("", "S");
$attachment = chunk_split(base64_encode($pdfdoc));
// encode data (multipart mandatory)
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Enconding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
// message
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: text/html; charsrt=\"iso-8859-1\"".$eol;
$headers .= $message.$eol.$eol;
// attachment
$headers .= "--".$separator.$eol;
//$headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol;
$headers .= "Content-Type: application/zip; name=\"".$filename."\"".$eol;
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $attachment.$eol.$eol;
$headers .= "--".$separator."--";
// send message
mail($to, $subject, $message, $headers);
}
}
?>
İşte benim kodudur. Bunun yerine uygulamayı/pdf'yi deneyin. – Raisen
Ben de yaptım, ama işe yaramaz. –
Henüz bunun hakkında uygun bir düşünceye sahip olmadı, ancak MIME üstbilgileri için eol her zaman "\ r \ n", PHP_EOL'deki gerçek değer OS'ye bağlı olarak değişir; $ headers varlığınızdaki çalışmalara bir anahtar koyabilirsiniz; Spesifikasyona göre, buna rağmen hoşgörülü olmalıdır: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html (19.3) – CD001