PHP при отправке почты ошибка при получении вложений - octet-stream; имя = & ldquo; & Rdquo;

Нет, другого пути нет. Два запроса - один для подсчета - один с лимитом. Или вам нужно использовать другую базу данных. Apache Solr, например, работает так, как вы хотите. Каждый запрос там ограничен и возвращает totalCount.

0
задан Dharman 16 January 2019 в 19:34
поделиться

1 ответ

Попробуйте ниже код:

$name           = "Name";
$email      = "Email Address";
$to             = "$name <$email>";
$from           = "XYZ";
$subject        = "TEST SUBJECT";
$mainMessage    = "Hi, here's the file.";
$fileatt        = "./test.pdf";
$fileatttype    = "application/pdf";
$fileattname    = "newname.pdf";
$headers        = "From: $from";
// File
$file           = fopen ( $fileatt, 'rb' );
$data           = fread ( $file, filesize ( $fileatt ) );
fclose ( $file );
// Attach the file
$semi_rand  = md5 ( time () );
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers       .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";
$message        = "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" . $mainMessage . "\n\n";
$data           = chunk_split ( base64_encode ( $data ) );
$message      .= "--{$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 Email
if (mail ( $to, $subject, $message, $headers )) {   
    echo "The email was sent.";
} else {    
    echo "There was an error sending the mail.";
}
0
ответ дан Gopal Satpati 16 January 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: