示例:如果我想通过电子邮件将视频上传到某个视频服务网站(例如Youtube),我可以将视频发送到电子邮件地址(例如1234567890@upload.youtube.com
)。该号码是一个上传代码 - 它是一个唯一的号码,每次都会更改。然后Youtube会自动处理和上传我的视频。
他们是如何创建电子邮件地址1234567890@upload.youtube.com
的,以及他们如何处理用户提交的电子邮件?
我正在寻找这种网络应用程序背后的基本功能。
答案 0 :(得分:3)
我从来没有这样做,但我对如何做到这一点有一个基本的想法。
upload.youtube.com
上有一个邮件服务器,无论谁是收件人,都在等待任何电子邮件。
一旦收到消息,它就会将其传递给一个脚本,该脚本可以解析它并获取收件人地址(这是上传者的唯一标识符)。
然后它将在电子邮件中查找附件并获取MIME代码,对其进行base64解码,然后将其写入磁盘上的文件。
然后,它将在数据库中添加一个条目,其中包含用户的唯一标识符以及指向该上传内容的链接。
答案 1 :(得分:1)
如果您使用cPanel,您可以使用类似http://www.zubrag.com/scripts/cpanel-create-email-account.php的内容来创建电子邮件帐户(使用您自己的例程生成唯一的用户名等),然后您可以使用http://garrettstjohn.com/entry/extracting-attachments-from-emails-with-php/之类的脚本来获取附件来自电子邮件。
答案 2 :(得分:0)
最后,我想出了我想要的东西。
我所要做的就是在我的网络控制面板上处理所有电子邮件。在我的例子中,我只是创建一个新的子域并在该子域上设置一个包含所有邮件的选项。
您可以轻松地在Cpanel中完成上述所有操作 - 只需创建一个子域并选择一个单选框Pipe to a Program
并填写您的应用程序路径。就是这样!
不幸的是,我正在使用DirectAdmin。我必须做比Cpanel更复杂的事情。它也可以处理catch-all电子邮件,但我必须首先使用通配符dns作为我的子域记录。
此外,我发现这对于如何管道/发送电子邮件到PHP脚本有用article。本文将向您展示包括用于使用电子邮件管道的PHP脚本的每个步骤。
谢谢你的回答。这非常有帮助。