Call a php script whenever an e-mail is received?

五迷三道 提交于 2020-01-15 06:13:40

问题


What I would like is a service (preferably something not installed on a server like just letting a third-party handle e-mails but if a dedicated server is necessary I'll give it a shot) that allows any e-mails to my site to be redirected as a HTTP request to a php script I specify

For example a e-mail like this

To: chris@example.com
From: anotherplace@another.site.example.org
Subject: hello!
Message: Hey man whats up?

Would make a http request to

http://example.com/notify.php

With some POST data:

to=chris@example.com&from=anotherplace@another.site.example.org&subject=hello!&message=Hey man whats up?

I'd like to avoid polling every minute as I believe this would be a major drain on the server. Is there any pre-existing mail server or service that has these sort of features? My other plan would be to implement my own mail server but that seems like a huge project to undertake just to support this.


回答1:


Set up a pipe alias in your MTA:

autoprog:      |myscript.php

At that point you can have your script parse the email and open a URL with it properly encoded into the query string. Or it could just process the email directly.




回答2:


Polling a mail server every minute to check an inbox shouldn't be a major drain on the system. Most email clients do exactly that. If the email server is IMAP, POP3, or NNTP, and you want to use PHP to query for received mail, you could do the polling using the IMAP extension for PHP.



来源:https://stackoverflow.com/questions/2270013/call-a-php-script-whenever-an-e-mail-is-received

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!