У меня вызывала нарекания нестабильная работа действия «
Принять почту» в режиме
IMAP, и я об этом писал ранее.
У компонента
MailBee, на основе которого работает действие «
Принять почту» и метод
BulkMailDownload, есть одна особенность: если при проверке почтового ящика он был пустой (в ящике не было ни одного письма), то компонент
MailBee выдает исключение:
MailMessage msg = Imap.QuickDownloadMessage("imap.domain.com", "jdoe", "secret", "Inbox", 1);
msg.Parser.HtmlToPlainMode = HtmlToPlainAutoConvert.IfNoPlain;
Console.WriteLine(msg.BodyPlainText);
Это исключение надо отлавливать в методе
BulkMailDownload, чтобы не было проблем.
Проблема заключается в том, что если на момент самой первой проверки ящика действие «
Принять почту» видит пустой ящик (в ящике нет ни одного письма), то сколько бы ни было повторных проверок в этом действии, с любым интервалом между проверками, пришедшее позже письмо не будет обнаружено, даже если к моменту повторной проверки оно уже лежало в ящике, и ящик уже не был пустым.