Eki ile PHP posta - ekstra dosya: part 1.4

1 Cevap php

Ben ekleri ile bir e-posta göndermek için aşağıdaki kodu kullanıyorum:

    $mime_boundary = "<<<--==+X[".md5(time())."]";

    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: multipart/mixed;\r\n";
    $headers .= " boundary=\"".$mime_boundary."\"";

    $message .= "This is a multi-part message in MIME format.\r\n\r\n";
    $message .= "--".$mime_boundary."\r\n";

    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
    $message .= "Content-Transfer-Encoding: 7bit\r\n";
    $message .= "\r\n";
    $message .= "$message_body\r\n";
    $message .= "--".$mime_boundary."\r\n";

    foreach($attachments as $filename => $data)
    {
        $message .= "Content-Type: application/octet-stream;\r\n";
        $message .= " name=\"$filename\"\r\n";
        $message .= "Content-Transfer-Encoding: quoted-printable\r\n";
        $message .= "Content-Disposition: attachment;\r\n";
        $message .= " filename=\"$filename\"\r\n";
        $message .= "\r\n";
        $message .= chunk_split(base64_encode($data));
        $message .= "\r\n";
        $message .= "--".$mime_boundary."\r\n";
    }

    mail($email_address, $email_subject, $message, $headers);

Hangi ekstra bir dosya da ("Bölüm 1.4" olarak adlandırılır) bağlı olması dışında, çalışıyor.

Bu ekledi değil bir yolu var mı?

Cheers, Dan.

1 Cevap

IIRC son bölümü ayırıcı --something unique--, yani sizin durumunuzda olmalı

$message .= "--".$mime_boundary."--\r\n";

Ama mim posta veya daha az bir sorun çözüldü (doğru yapılırsa ve reeeeally can sıkıcı zaman yanlış yapıldığında yani bir uygulama geliştiricisi için sıkıcı ;-)) 'dir. Kendinize bir iyilik yapın ve Swiftmailer veya başka posta kütüphane / sınıf inmek gibi bir şey kullanabilirsiniz.