将文件附加到电子邮件时,是否需要先将其存储在服务器上?

时间:2008-10-21 12:47:21

标签: php mysql

我有一个自动将表导出到CSV文件的函数,然后我尝试将该文件附加到将通过电子邮件发送的函数中。我之前使用过html mime邮件发送了附件,但我想知道创建的CSV文件是否需要先将其存储在服务器上才能将其附加到电子邮件中?

4 个答案:

答案 0 :(得分:2)

这取决于你的功能,如果你有一个函数可以将表作为CSV导出到一个字符串然后邮件功能支持从字符串创建附件然后我认为你有你需要的...

答案 1 :(得分:0)

理论上,你可以自己编写适当的标签并亲自手工制作电子邮件。

或者您可以轻松地将其保存到临时位置,使用PHPMailer(可能还支持字符串附件)等工具来附加文件,发送邮件然后删除临时文件。

答案 2 :(得分:0)

将二进制文件附加到电子邮件时,它会将二进制文件转换为文本,以便通过文本媒体传输。转换过程调用uuencode用于转换二进制文件。

因此,当您使用客户端附加文件时,它只是对其进行uuencodes并将文本添加到消息的其余部分。我不确定它的确切格式,使其看起来像客户端的附件(而不仅仅是消息正文中的乱码)。

答案 3 :(得分:0)

如果您使用PEAR中的Mail_Mime包及其“addAttachment”方法,请将“$ isfile”(4th)参数设置为false,并将该字符串作为“$ file”(1st)参数传递。更多here

如果您使用PHPMailer,请使用其“AddStringAttachment”方法。

如果你不使用那些,那么你需要更具体。