Вложение MIME файлов не открывается

90
14

Мой код


<?php

require_once "Mail.php"; // PEAR Mail package
require_once ('Mail/mime.php'); // PEAR Mail_Mime packge

$from = "<meenu.spiralbean@gmail.com>";
$to = "<meenu.spiralbean@gmail.com>";
$subject = "Hi!";

$host = "ssl://smtp.googlemail.com";
$port = "465";
$username = "example@gmail.com";
$password = "example";

$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));

$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);

// attachment
$file = '/var/www/html/formsubmit/TodoList/upload/abc.pdf';
$crlf = "n";
$text="Helllooooo";
$html = "<html> <head> <title>Mail test</title> </head> <body>something</body></html>";

$mime = new Mail_mime($crlf);
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
if($mime->addAttachment($file))
{
echo "Success";
}
else

{
echo "Failed";
}

$body = $mime->get();
$headers = $mime->headers($headers);

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>


Вложение невозможно открыть даже после его загрузки.


Почта поступает в папку "Входящие" и вложение также есть. Но вложение похоже на txt file.but. Фактически я прикрепляю файл pdf. Я использовал почту почты SMTP и MIME.


Помогите мне.

спросил(а) 2021-01-25T18:36:28+03:00 4 месяца, 4 недели назад
1
Решение
76

Соответствующий код по почте:


Content-Transfer-Encoding: base64
Content-Type: application/octet-stream;
name=abc.pdf
Content-Disposition: attachment;
filename=abc.pdf;
size=4997278

Тип контента является общим; попробуйте использовать application/pdf как второй параметр для addAttachment().

Кроме того, НИКОГДА не отправляйте свой реальный почтовый адрес и пароль в любом месте.

ответил(а) 2021-01-25T18:36:28+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема