PHP: Загрузите входящую электронную почту из POP3 или IMAP, проанализируйте ее и отметьте как прочитанную/удаленную на сервере
Я пытаюсь добавить входящую электронную почту в свое веб-приложение. Он построен на CodeIgniter и PHP, и, насколько я могу судить, я не нашел никаких библиотек CI для этого.
Что я хотел бы сделать, так это иметь контроллер, который подключается к моему почтовому ящику через POP3 или IMAP и извлекает сообщение, анализирует его, а затем удаляет с сервера.
Передача почты из postfix/etc не будет работать при настройке моего сервера.
Любые предложения были бы чрезвычайно полезный.
Спасибо!
2 answers
$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 );
}
Для более независимого подхода вы можете создать сторонний плагин с помощью Zend framework (https://docs.zendframework.com/zend-mail/read /). Я использовал их модули ACL в Codeigniter и это хороший способ получить лучшее из обеих платформ.
Это также позволяет вам анализировать электронные письма, извлекать вложения и т.д.