如何从电子邮件中获取附件,调整其大小并回复电子邮件?

时间:2011-02-07 23:40:24

标签: php email

我想制作收到电子邮件的内容,从电子邮件中获取附件,调整图片大小,然后通过电子邮件发送回来。我想制作一个可以做到这一点的小型Web应用程序。

我理解这很可能是很多工作,但我想从头开始学习如何做到这一点。任何人都可以指出我可能会开始的方向,或者给我一些关于我可能需要做什么的粗略轮廓?

我希望它在PHP中,因为我已经拥有自己的共享Web主机。

2 个答案:

答案 0 :(得分:1)

您的请求似乎有3个组件

  1. 使用PHP接收带附件的电子邮件

    只有PHP才能实现这一点。要接收电子邮件,您需要一个正在侦听正确端口的邮件传输代理。将它连接到PHP并没有多大意义。

  2. 调整图片大小

    PHP可以使用GD库执行此操作,只要它们被编译为apache或稍后作为模块添加即可。 http://www.bitrepository.com/resize-an-image-keeping-its-aspect-ratio-using-php-and-gd.html

  3. 发送电子邮件

    这可以使用mail()命令完成。 http://www.w3schools.com/php/php_mail.asp

  4. 也许你想制作一个父亲可以上传图片的网页,它会在网页上显示已调整大小的图片并提供下载链接。

答案 1 :(得分:0)

这不是PHP脚本的常见任务。接收电子邮件需要一种解决方法。您可以使用cron脚本轮询pop3 / imap帐户,也可以设置procmail,如果您有更专业的托管服务商。查看此答案以获取一些界面想法: How do I receive email and process it in a web application

然后您需要一个电子邮件解码库。电子邮件中的附件被编码为多部分/任何条目。使用现成的库,这也将轻松发送回复电子邮件。 (上面链接中提到的fMailbox和fEmail可能是一个很好的匹配)

调整图像大小很容易。查看GD图像函数http://www.php.net/manual/en/function.imagecopyresized.php和许多示例。