【问题标题】:How would I implement an upload by email service for my photo sharing website?我将如何为我的照片共享网站实施电子邮件上传服务?
【发布时间】:2010-12-25 15:21:19
【问题描述】:

我有一个正在开发的照片共享网站,希望能够允许用户通过电子邮件附件添加照片和视频。我有该网站的电子邮件地址(由 goDaddy 托管)。我还有一个运行在 Amazon Web Services EC2 上的 LAMP CentOS 应用程序服务器,它处理通过我的基于 Web 的上传页面上传的文件,因此我想使用相同的 PHP 脚本来处理作为电子邮件附件发送的文件。我的第一个问题是 -

1) 要获取应用程序服务器的附件,我会使用 PHP 的 IMAP/POP 函数从 goDaddy 获取电子邮件吗?定期检查新电子邮件?

2) 是否像设置一个万能的电子邮件地址并为用户提供一个唯一的电子邮件以将照片发送到一样简单(例如,catchalluploads@mywebsite.com 并为每个用户提供 username.photos@mywebsite.com)然后看看对于带有 .photos 位的电子邮件,并使用用户名位来确定谁上传了照片...?

我还需要执行哪些其他步骤?欢迎任何其他关于如何最好地实现这一目标的建议

【问题讨论】:

    标签: php email upload attachment photo


    【解决方案1】:

    您可以将这些电子邮件转发到您的 EC2 实例并将它们传递给一个 shell 脚本。我记得在我的.forward 文件中使用这样的一行:

    |/path/to/my/script
    

    脚本将通过 STDIN 获取电子邮件。这样您就无需定期检查收件箱,因为电子邮件会立即送达。

    为了识别用户,我建议为每个用户设置唯一的秘密电子邮件地址,因为很容易伪造发件人地址。您可以设置一个包罗万象的地址(例如*@post.example.org),这样您就不需要单独配置每个地址。​​

    【讨论】:

    • 谢谢,我不熟悉 .forward 文件,我可以在 goDaddy 这样的电子邮件提供商中使用它吗?
    • 我认为你们完全忘记了可用性。一个人,例如我妈妈,怎么会使用那个“秘密”电子邮件地址向网站发送照片?哦,你只需去hotmail并更改你的发件人地址......嗯不......但然后只需打开Outlook并创建一个新帐户,并记住在上传照片时始终从该帐户发送。我认为不会。
    • 秘密电子邮件不是发件人的电子邮件,而是收件人的电子邮件。您可以使用您的任何帐户,但只需要使用只有您知道的特殊收件人地址,因此没有人可以滥用它。只需将地址添加到您的联系人中,您就可以开始了。没有配置或任何东西......
    【解决方案2】:

    为什么不只有一个电子邮件地址,例如。 photos@yoursite.com,然后查看发件人地址,确定照片属于哪个用户?

    【讨论】:

    • 好问题...我正在研究 Flickr 的功能,他们为每个用户提供了一个唯一的电子邮件地址,我怀疑这是出于安全原因,而且用户可能不是从同一个上传我们记录在案的电子邮件地址,但我们确实要求每个用户名都有一个唯一的电子邮件地址,以便您的建议从实用的角度来看是可行的 - 谢谢
    • 我可以轻松地从地址欺骗电子邮件
    • @David Kemp 和这里的大多数用户都可以,但我不明白为什么它是相关的。 @undefined 可以很容易地让用户批准通过电子邮件发送的照片,然后再将它们显示在他的网站上。我的意思是有人知道我在他的网站上有一个帐户并会利用这些知识从我的(欺骗)地址发送大量图像的可能性有多大?损害会是什么?
    • 几率是多少?如果它是一个照片共享网站,那么当用户使用该网站时可能真的很明显,而且找到他的电子邮件地址并不难。
    • @Tomas,这是正确的,但请阅读整个句子。
    猜你喜欢
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-24
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-25
    相关资源
    最近更新 更多