php - MIME 文件附件打不开

标签 php email pear mime

我的代码是

<?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 文件。但我实际上附加了一个 pdf 文件。我使用了SMTP邮件和MIME邮件功能。

请帮助我。

最佳答案

邮件中的相关代码为:

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

内容类型是通用的;尝试使用 application/pdf 作为 addAttachment() 的第二个参数.


此外,切勿在任何地方发布您的真实邮件地址和密码。

关于php - MIME 文件附件打不开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30116524/

相关文章:

html - 我应该在电子邮件模板中使用 HTML 注释吗?

php - 如何在 WAMP、Windows 7 上安装 PEAR 包?

php - “phppyrus.phar”不会被执行

php - 数据库查询结果codeigniter后无法调用php函数

php - 让两个脚本协同工作

android - 解析 GraphJSONObjectCallback 不返回电子邮件

c# - 在 asp.net 中使用 smtp 和 gmail 提交表单后发送电子邮件

php - 身份验证失败[SMTP:STARTTLS失败(代码:220,响应:2.0.0准备启动TLS)]

php - 使用 index.php 解析错误 : syntax error, 意外的 T_STRING?

php - 如何配置 PHPUnit 以测试 ZF2 应用程序中的整个供应商文件夹?