我经营一个小网站。我希望我的用户将带有附加照片的电子邮件从他们的移动设备发送到我们的网站gmail地址。有没有办法以编程方式登录gmail并在本地保存图像文件?
我意识到99.9%的时间是通过让用户直接在网站上传图像文件来完成的。但我想知道是否有办法使用电子邮件来做到这一点,因为在这种特殊情况下,它更加用户友好。
干杯。
答案 0 :(得分:0)
有两种基本方法,一种是从Gmail中提取电子邮件,另一种是Gmail将电子邮件发送给您。
轮询Gmail(拉)
使用此方法,您会定期连接到Gmail以下载新的电子邮件。步骤的粗略顺序是:
解析MIME电子邮件时,您可以通过过滤将Content-Type
设置为图像类型的MIME部分来识别图像,例如image/jpeg
和Content-Disposition
设置为attachment
。可以对图像进行编码,例如, Content-Transfer-Encoding: base64
,因此您可能需要在保存之前对数据进行解码。
有些图书馆可以帮助您使用大多数流行语言。
这是一个关于Stack Overflow的PHP示例我写的是使用IMAP从Gmail下载MIME消息:
Gmail转发(推送)
如果您不想登录Gmail,可以设置SMTP邮件服务器(例如Postfix,Exim,Sendmail等)以接收电子邮件,并让Gmail转发您收到的电子邮件。这样,您就不需要通过网络连接到Gmail。然后在您的服务器上,您可以定期连接到它,或者您可以在服务器中编写一个过滤器来为您处理它。我已经完成了两项工作,使用本地连接并编写邮件服务器处理过滤器。
答案 1 :(得分:0)
是的,您需要使用您选择的语言对pop3电子邮件进行编码。
Java: http://www.oracle.com/technetwork/java/javamail/index.html
Python: https://docs.python.org/2/library/poplib.html
PHP: https://code.google.com/a/apache-extras.org/p/phpmailer/wiki/PHPMailer
这是java中的一个很好的例子:http://alvinalexander.com/java/javamail-pop-pop3-reader-email-inbox-example
答案 2 :(得分:0)
您可以自动使用Google脚本save Gmail attachments to Google Drive。
接下来,在计算机上安装来自云端硬盘的PC客户端,下载的文件将立即显示在本地。