php用运行时创建的文件发送电子邮件

时间:2013-04-14 13:56:19

标签: php email attached-properties

我必须在xlsx和pdf中创建文件,并希望通过电子邮件附件发送(不想在任何地方保存)。我知道如何附加已保存的文件并发送电子邮件。 我怎么能在没有保存的情况下发送它直接。我试过的是

$attachment = @chunk_split(base64_encode(file_get_contents($path)));
 $message .= "--PHP-mixed-$random_hash\r\n"
  ."Content-Type: application/doc; name=\"$file\"\r\n"
  ."Content-Type: application/pdf; name=\"$file\"\r\n"
  ."Content-Type: application/docx; name=\"$file\"\r\n"
  ."Content-Transfer-Encoding: base64\r\n"
  ."Content-Disposition: attachment\r\n\r\n";
  $message .= $attachment;
  $message .= "/r/n--PHP-mixed-$random_hash--";

  //send the email
 $mail = mail( $to, $subject , $message, $headers );

现在我没有$ path,我在同一个文件上生成内容..怎么做才能发送它而没有保存?

1 个答案:

答案 0 :(得分:1)

如果您只想对某些未存储在文件中的数据进行base64编码,您可以执行此操作($data是您生成的文件):

$attachment = @chunk_split(base64_encode($data));