php 用于将文件附加到电子邮件#php的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 用于将文件附加到电子邮件#php的功能相关的知识,希望对你有一定的参考价值。

function sendPriceClient($emailClient, $filename)
{

    $subject = 'some subject text here';
    $message = "some messsage text here<br/>";

    $path = __DIR__ . '/' . $filename;

    $fp = fopen($path, "rb");
    if (!$fp) {
        print "Cannot open file";
        exit();
    }
    $file = fread($fp, filesize($path));
    fclose($fp);

    $EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
    $boundary = "--" . md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.
    $headers = "MIME-Version: 1.0;$EOL";
    $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";
    $headers .= "From: fitinflat.ru <no-reply@fitinflat.ru>";

    $multipart = "--$boundary$EOL";
    $multipart .= "Content-Type: text/html; charset=utf-8$EOL";
    $multipart .= "Content-Transfer-Encoding: base64$EOL";
    $multipart .= $EOL; // раздел между заголовками и телом html-части
    $multipart .= chunk_split(base64_encode($message));

    $multipart .= "$EOL--$boundary$EOL";
    $multipart .= "Content-Type: application/octet-stream; name=\"$filename\"$EOL";
    $multipart .= "Content-Transfer-Encoding: base64$EOL";
    $multipart .= "Content-Disposition: attachment; filename=\"$filename\"$EOL";
    $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла
    $multipart .= chunk_split(base64_encode($file));

    $multipart .= "$EOL--$boundary--$EOL";

    mail($emailClient, $subject, $multipart, $headers);
}

以上是关于php 用于将文件附加到电子邮件#php的功能的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中将特定 PDF 附加到电子邮件中?

PHP 将图像附加到电子邮件

PHP不发送带有附件的邮件

php Event Tickets&Plus:将媒体库中的文件附加到所有票证电子邮件。

php Event Tickets&Plus:将媒体库中的文件附加到所有票证电子邮件。

如何使用php邮件附加图像文件