phpmailer附加文件

时间:2013-08-06 12:11:33

标签: php mysql email phpmailer

如何使用phpmailer将文件作为字符串发送?

文件内容作为BLOB存储在Mysql中,但在发送邮件时,filesize只有2个字节?在数据库中,大小约为30kb?

$phpmailer->AddStringAttachment(
  base64_encode($row['file_data']),
  $row['file_name'],
  'base64',
  $row['file_type']
);

直接从mysql数据库中提取数据,无需任何处理......

这将在浏览器中显示图像

header('Content-type: '.$row['file_type']);
echo $row['file_data'];

1 个答案:

答案 0 :(得分:1)

首先,我想你可能意味着base64_encode()而不是解码?

但是,我猜你可能根本不想编码 - phpMailer会在内部处理你的编码,所以你不需要自己做任何base64编码。

所以我认为正确的答案就是将数据传递给邮件程序而不进行任何编码。

$phpmailer->AddStringAttachment(
  $row['file_data'],
  $row['file_name'],
  'base64',
  $row['file_type']
);

希望有所帮助。