Для моего программного обеспечения для портфолио я использовал fetchmail
для чтения с учетной записи электронной почты Google по IMAP, и жизнь была отличной. Благодаря чуду idle соединение, поддерживаемое imap3, мои триггеры срабатывают почти в режиме реального времени из-за нажатия на сервер, гораздо раньше, чем периодический опрос позволит в противном случае.чтение с нескольких imap.gmail.com от одного и того же клиента fetchmail
В моей основной .fetchmailrc
установки, в которых сообщения об аккаунте торговые уведомления брокерский клиента в отдельный ящик Gmail/Google Apps, я имел
poll imap.gmail.com proto imap user "[email protected]" pass "yoMama" keep nofetchall ssl idle mimedecode limit 29000 no rewrite mda "myCustomSpecialMDAhandler.sh %F %T"
Проблема, теперь мне нужно поддерживать чтение с множественным почтовые ящики и отправлять электронные письма другим специализированным сценариям MDA, которые я написал. Нет проблем, просто добавьте еще опрос строк до .fetchmailrc
, правильно? Хорошо, что не работает, когда другие учетные записи также используют imap.gmail.com. То, что заканчивается, заключается в том, что, хотя одна учетная запись отлично читает (и не обязательно, чтобы первый из них был указан, хотя обычно да), другой получает «Ошибка сокета» весь день, и электронные письма остаются нетронутыми, непрочитанными. Я не могу понять, почему и даже не уверен, что это какой-то механизм на imap.gmail.com
или нет, например. ограничивая одно соединение IMAP с хоста. Это не кажется правильным, поскольку я поддерживал IMAP-подключения со многими отдельными Gmail & аккаунтами Google Apps от одного и того же клиента в течение многих лет (например, Thunderbird) и никогда не замечал эту проблему исключительности.
Я не пробовал запускать несколько демонов fetchmail, используя отдельные файлы конфигурации -f (при условии, что они не конфликтуют) или развертывание одного или нескольких почтовых меток getmail и других подобных меток. Все еще пытаясь избежать такого рода беспорядков - нецелесообразно больше ящиков, которые я должен контролировать.