PHP: Загрузите входящую электронную почту из POP3 или IMAP, проанализируйте ее и отметьте как прочитанную/удаленную на сервере


Я пытаюсь добавить входящую электронную почту в свое веб-приложение. Он построен на CodeIgniter и PHP, и, насколько я могу судить, я не нашел никаких библиотек CI для этого.

Что я хотел бы сделать, так это иметь контроллер, который подключается к моему почтовому ящику через POP3 или IMAP и извлекает сообщение, анализирует его, а затем удаляет с сервера.

Передача почты из postfix/etc не будет работать при настройке моего сервера.

Любые предложения были бы чрезвычайно полезный.

Спасибо!

Author: Pep, 2009-09-20

2 answers

Http://ca.php.net/imap

$mb = imap_open("{host:port/imap}","username", "password" );

$messageCount = imap_num_msg($mb);
for( $MID = 1; $MID <= $messageCount; $MID++ )
{
   $EmailHeaders = imap_headerinfo( $mb, $MID );
   $Body = imap_fetchbody( $mb, $MID, 1 );
   doSomething( $EmailHeaders, $Body );
}
 22
Author: Leprechaun, 2011-11-19 17:18:26

Для более независимого подхода вы можете создать сторонний плагин с помощью Zend framework (https://docs.zendframework.com/zend-mail/read /). Я использовал их модули ACL в Codeigniter и это хороший способ получить лучшее из обеих платформ.

Это также позволяет вам анализировать электронные письма, извлекать вложения и т.д.

 0
Author: Antony, 2017-12-07 11:24:13