Я работал над IMAP-клиентом для получения писем из Gmail. Мое приложение работало нормально примерно час назад, когда приложения перестали извлекаться.
Соединение и обмен сообщениями обрабатываются imapX.
Соединение в порядке
Логин в порядке
Получение папок в порядке
Получение сообщений в порядке
На данный момент attachments.Count == 0. Он работал сегодня днем, поэтому мне интересно, прошел ли я тестирование, и Google какое-то время попал в черный список моего компьютера? Кто-нибудь знает, так ли это? - Бегал, наверное, раз в 5-10 минут, а может и чаще, поэтому это может быть правдоподобной проблемой.
Я попытался отправить новое электронное письмо с совершенно новым файлом, и он все еще не видит вложение (но он (всегда) видит сами сообщения).
Может ли кто-нибудь пролить свет на этот вопрос?
РЕДАКТИРОВАТЬ: Заголовок включает в себя следующий тег {[X-MS-Has-Attach, да]}
РЕДАКТИРОВАТЬ (код):
private void PollMailFolders(object state)
{
try
{
if(_imapClient == null || !_imapClient.IsConnected)
_imapClient = new ImapClient(_config.Server, _config.Port, true);
if (_imapClient.Connection())
{
if(!_imapClient.IsLogined)
_imapClient.LogIn(_config.Username, _config.Password);
string dateSearch = string.Format(
"SINCE {0:d-MMM-yyyy}{1}", DateTime.Today.AddDays(-_config.HistoryOnStartupDays),
_isFirstTime ? "" : " UNSEEN");
_isFirstTime = false;
foreach (Folder folder in _imapClient.Folders["SSForecasts"].SubFolder)
{
var messages = _imapClient.Folders[folder.Name].Search(dateSearch, false);
foreach (Message m in messages)
{
m.Process();
foreach (var a in m.Attachments)
{
SendDataToParser(_encoding.GetString(a.FileData), folder.Name);
}
m.SetFlag(ImapFlags.SEEN);
}
}
}
}
catch(Exception e)
{
_diagnostics.Logger.ErrorFormat("Error in PollMailFolders: {0}", e);
}
}