Как скачать все письма в таблицу?

Sefroz

Client
Регистрация
20.11.2017
Сообщения
54
Благодарностей
3
Баллы
8
Как с помощью стандартного кубика реализовать скачку в таблицу? Так же C# тоже подойдет, но нужно чтобы работал текущий прокси проекта, либо заданный из переменной. Так же логин и пароль тоже должны браться из переменной.



Пробовал стандартный, он он не работает по каким то причинам. Подставлял разумеется значения логина и пароля + настройки. В таблицу ничего не переносит, выходит как выполненый.


Код:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]",
       "ххххххххххх", "pop.yandex.ru", 995, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.POP3,
       24*100, 20, false);
 
// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Tabl1"].AddRow(tmp);
}


PS не могу нагуглить схожую тему, с рабочим кодом.
 

Sefroz

Client
Регистрация
20.11.2017
Сообщения
54
Благодарностей
3
Баллы
8
уже разобрался.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113

Philipp

Client
Регистрация
14.10.2019
Сообщения
95
Благодарностей
38
Баллы
18
Тот же вопрос у меня, у кого-то есть решение?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113
Тот же вопрос у меня, у кого-то есть решение?
Вот так сейчас проверил - все отлично скачивает и помещает в таблицу с именем "Таблица 1":

C#:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]",
       "password", "imap.yandex.ru", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*100, 20, false);
 
// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Таблица 1"].AddRow(tmp);
}
 

Philipp

Client
Регистрация
14.10.2019
Сообщения
95
Благодарностей
38
Баллы
18
Вот так сейчас проверил - все отлично скачивает и помещает в таблицу с именем "Таблица 1":

C#:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]",
       "password", "imap.yandex.ru", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*100, 20, false);

// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Таблица 1"].AddRow(tmp);
}
Спасибо, работает
 
  • Спасибо
Реакции: Sergodjan

Philipp

Client
Регистрация
14.10.2019
Сообщения
95
Благодарностей
38
Баллы
18
Подскажите пожалуйста что дописать в сниппет чтобы при неудачной попытке подключения к почте выходило по красной ветке

upd:нашёл что дописать


C#:
// download all messages from yandex via POP3 and add results to the table
string proxy = project.Variables["proxy"].Value;
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload(project.Variables["email"].Value,
  project.Variables["password"].Value, project.Variables["server"].Value, 993, true,
  ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP, 24*100, 50, true, proxy, true);
// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
  // adding messages to the table called Tabl1
  // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
  List<string> tmp = new List<string>();
  tmp.Add(tuple.Item1);
  tmp.Add(tuple.Item2);
  tmp.Add(tuple.Item3);
  tmp.Add(tuple.Item4);
  project.Tables["Письма"].AddRow(tmp);
}
 
Последнее редактирование:
  • Спасибо
Реакции: TeslaCo

Packman

Client
Регистрация
21.11.2019
Сообщения
4
Благодарностей
1
Баллы
3
Ребята а как в переменную вернуть ? текст ошибки ? в переменную
---
обработчик писем System.Exception: Ошибка подключения к серверу IMAP
---
и подобные? ( те, что падают в лог )
 

TeslaCo

Client
Регистрация
25.10.2016
Сообщения
61
Благодарностей
2
Баллы
8
Подскажите как положить в таблицу, в отдельную колонку, поле КОМУ из письма?
Что значит 24*100, 20, в коде?

И может кто то знает, как брать с конкретного каталога IMAP ?
 
Последнее редактирование:

Tvister

Client
Регистрация
09.09.2010
Сообщения
250
Благодарностей
33
Баллы
28
Подскажите как положить в таблицу, в отдельную колонку, поле КОМУ из письма?
Что значит 24*100, 20, в коде?

И может кто то знает, как брать с конкретного каталога IMAP ?
Через BulkMailDownload насколько я понял нельзя выбрать каталог.

Что значит 24*100, 20, в коде?
20 это количество писем.

Подскажите как положить в таблицу, в отдельную колонку, поле КОМУ из письма?
Перенести данные в другую таблицу после того как скачали.
 
  • Спасибо
Реакции: TeslaCo

TeslaCo

Client
Регистрация
25.10.2016
Сообщения
61
Благодарностей
2
Баллы
8

TeslaCo

Client
Регистрация
25.10.2016
Сообщения
61
Благодарностей
2
Баллы
8
Есть кто сталкивался с такой задачей?
 

STuev

Client
Регистрация
01.12.2021
Сообщения
10
Благодарностей
1
Баллы
3
Здравствуйте, почему то получаю ошибку Debug thread error, версия Зенки 7.7.0.0
В логе вот что:
--------------------------------------------------------------------------------
[2022-05-21 09:21:34.2983]|72||Загрузка файла настроек isRefresh = True
System.ApplicationException: Для не синхронизированного блока кода вызван метод синхронизации объектов.
в System.Threading.Mutex.ReleaseMutex()
в Global.SettingsManager.SettingsDataStructure.LoadFromFile(Boolean isRefresh)
--------------------------------------------------------------------------------
[2022-05-21 09:21:34.2983]|72||File name: C:\Users\Administrator\AppData\Roaming\ZennoLab\ZennoPoster\7\Settings\globalsettings.settings

--------------------------------------------------------------------------------
[2022-05-21 09:21:34.2983]|72||Settings File load error. File name: C:\Users\Administrator\AppData\Roaming\ZennoLab\ZennoPoster\7\Settings\globalsettings.settings isRefresh = True

--------------------------------------------------------------------------------
Что это может быть?
 

STuev

Client
Регистрация
01.12.2021
Сообщения
10
Благодарностей
1
Баллы
3

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113
Здравствуйте, почему то получаю ошибку Debug thread error, версия Зенки 7.7.0.0
В 7.7.1.0 правили эту ошибку при смене движка браузера в ПМ.
Меняли движок?
Перезагрузка ProjectMaker помогла.
Да, этим способом лечится.
 
  • Спасибо
Реакции: STuev

STuev

Client
Регистрация
01.12.2021
Сообщения
10
Благодарностей
1
Баллы
3
В 7.7.1.0 правили эту ошибку при смене движка браузера в ПМ.
Меняли движок?

Да, этим способом лечится.
Нет, не менял, не с того ни с сего появилась, но после перезагрузки все ок, больше не появляется!
 
  • Спасибо
Реакции: Sergodjan

braind

Client
Регистрация
10.10.2012
Сообщения
119
Благодарностей
11
Баллы
18
апну тему.
экспериментирую с получением почты, ящик на яндексе, ловлю какие-то глюки.
настроил получение писем за 24 часа с удалением. За 24 в ящике 5 писем.
Запускаю скрипт, получаю в таблицу 5 писем, дальше интересно:
- в ящике удаляется 3 письма, 2 остается.
- в удаленных обнаруживаю 3 письма, но это не те, что удалены! 2 удаленных письма - это копия тех что остались в инбоксе.
получается, что удалены 3 письма, но в папку удаленные из них попало только одно, а еще два были скопированы из инбокса

продублирую в баги
 
Регистрация
23.03.2015
Сообщения
1 124
Благодарностей
656
Баллы
113
Вот так сейчас проверил - все отлично скачивает и помещает в таблицу с именем "Таблица 1":

C#:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]",
       "password", "imap.yandex.ru", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*100, 20, false);

// loop fo all messages
foreach(Tuple<string, string, string, string> tuple in allMails)
{
    // adding messages to the table called Tabl1
    // tuple.Item1 - sibject, tuple.Item2 - from, tuple.Item3 - html message, tuple.Item4 - text message
      List<string> tmp = new List<string>();
       tmp.Add(tuple.Item1);
       tmp.Add(tuple.Item2);
       tmp.Add(tuple.Item3);
       tmp.Add(tuple.Item4);
       project.Tables["Таблица 1"].AddRow(tmp);
}
Хотел уточнить, Этот код использует текущее Proxy проекта?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 443
Благодарностей
8 672
Баллы
113
  • Спасибо
Реакции: KolkaPetkinSyn

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)