Ben PHP kullanarak eki olan bir e-posta göndermek için çalışıyor ile mücadele edilmiştir. Bu iş için kullanılan, ancak ileti gövde şifreli edildi. Şimdi eki bozarsa ancak çalışmak için mesaj gövdesi var. Ben beden için mesaj base64 kodlaması kullanmak için kullanılır ama şimdi 7bit kullanın. Herkes yanlış yapıyorum bana söyleyebilir?
PS Bunu yapmak için önceden yapılmış sınıfını kullanarak gerektiğini söyleme lütfen. Ben birkaç denedim ve hepsi çalışmak için başarısız oldu. Ben bu sorunların üstesinden yoksa ben düzgün bunu öğrenmek asla. Teşekkürler
//define the receiver of the email
$to = 'a@something.co.uk';
//define the subject of the email
$subject = 'Your Disneyland Paris entry';
//create a boundary string. It must be unique
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time()));
//define the headers we want passed. Note that they are separated with \n
$mime_boundary = "<<<--==+X[".md5(time())."]";
$path = $_SERVER['DOCUMENT_ROOT'].'/two/php/';
$fileContent = chunk_split(base64_encode(file_get_contents($path.'CTF_brochure.pdf')));
$headers .= "From: info@blah.org.uk <info@blah.org.uk>"."\n";
$headers .= "MIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$message = "This is a multi-part message in MIME format.\n";
$message .= "\n";
$message .= "--".$mime_boundary."\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: 7bit\n";
$message .= "\n";
$message .= "messagebody \n";
$message .= "--".$mime_boundary."" . "\n";
$message .= "Content-Type: application/octet-stream;\n";
$message .= " name=\"CTF-brochure.pdf\"" . "\n";
$message .= "Content-Transfer-Encoding: 7bit \n";
$message .= "Content-Disposition: attachment;\n";
$message .= " filename=\"CTF_brochure.pdf\"\n";
$message .= "\n";
$message .= $fileContent;
$message .= "\n";
$message .= "--".$mime_boundary."--\n";
//send the email
$mail_sent = mail($to, $subject, $message, $headers);
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
echo $mail_sent ? "Mail sent" : "Mail failed";