我有一个应用程序,用户可以向我发送反馈。当他们这样做时,来自他们系统的各种数据被发布到我服务器上的php文件中。然后php文件处理该数据并通过mail()向我发送一封包含该数据的电子邮件。现在,所有数据都只是组成一个HTML电子邮件。
我想要做的是获取一些发布的数据,将它们转换为文件,并将它们作为附件添加到电子邮件中。我知道如何使用mail()将文件添加为附件。我想不出首先创建文件的方法。我想过只使用fopen()和fwrite(),但是如果两个用户同时发送反馈,那么文件就会搞得一团糟,因为每个用户都有相同的名字。我知道php有一个临时文件函数,它生成一个随机名称的文件,但是我如何引用该文件添加到mail()的邮件头中。此外,临时文件功能将无法工作,因为我希望每个文件在发送给我时都有一个特定的名称。
关于如何实现这一目标的任何想法?
答案 0 :(得分:1)
使用tempnam
安全地创建临时文件。如何在将它们附加到多部分邮件时调用它们不需要与您提供实际文件的临时名称有任何关系。如果它在你的'邮件'实现中,显示特定代码,'因为它不需要那样。
实际上,要邮寄它,您甚至不需要创建文件,只需将其作为特定部分添加到邮件正文中,并使用适当的内容编码&边界,你已经完成了。