Вопрос по BULK выгрузке почты

Svyat

Client
Регистрация
10.04.2012
Сообщения
97
Благодарностей
8
Баллы
8
Я занимаюсь массовой регистрацией акков на одном движке. Из-за того что письмо с активацией иногда приходит через сутки, то появилась потребность выкачать в конце базы все письма и еще раз пробежаться по ссылкам для активации.

Начал курить форум нашел вот это решение

Код:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("Ed****@aol.com",
       "pyv****", "pop.aol.com", 993, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.IMAP,
       24*1, 100, 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["Tabl1"].AddRow(tmp);
}

Проблема в том что письма вроде выкачивает но дальше я их в таблице "Tabl1" не вижу. А все переменной allemails только Ok появляется.

Вопрос куда деваются письма и как их найти ? Сразу скажу в Си Шарп я не силен.
 

Вложения

  • 209,8 КБ Просмотры: 138
  • Спасибо
Реакции: APXOHT и Mikhail B.

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
В таблице должны быть. Приложите семпл ваш.
 

Svyat

Client
Регистрация
10.04.2012
Сообщения
97
Благодарностей
8
Баллы
8
Я поменял мыло поставил другое но на тоже на aol
Проверь пожалуйста.
 

Вложения

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113

Svyat

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

Svyat

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

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
http://help.zennolab.com/en/v4/zennoposter/macros/4.3.5/ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~BulkMailDownload.html
вот тут подробнее

24*2, 100, true
значит качать письма за последние два дня, максимум 100 писем, true = удалять письма из ящика (работа удаления зависит от провайдера почты и от настроек ящика (например в outlook нужно отдельно в настройках разрешить удалять)
 

Svyat

Client
Регистрация
10.04.2012
Сообщения
97
Благодарностей
8
Баллы
8
http://help.zennolab.com/en/v4/zennoposter/macros/4.3.5/ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~BulkMailDownload.html
вот тут подробнее

24*2, 100, true
значит качать письма за последние два дня, максимум 100 писем, true = удалять письма из ящика (работа удаления зависит от провайдера почты и от настроек ящика (например в outlook нужно отдельно в настройках разрешить удалять)
Подскажи я хочу вставлять входные параметры в С# код т.е. почту пароль. Как передать переменные в Си код ?
 

bigcajones

Client
Регистрация
09.02.2011
Сообщения
1 216
Благодарностей
683
Баллы
113
Код:
project.Variables["Variable"].Value
 

stas11

Client
Регистрация
31.03.2013
Сообщения
188
Благодарностей
5
Баллы
18
Подскажите, можно сообщения просто скачивать, но при этом не удалять их?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
  • Спасибо
Реакции: samsonnn

APXOHT

Client
Регистрация
27.12.2013
Сообщения
881
Благодарностей
189
Баллы
43
Ребят, а кто то может проверить этот снип
Код:
// 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*20, 20, 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["Tabl1"].AddRow(tmp);
}
на удаление в Яшке скачанных писем?
Замечательно складывает в таблицу но письма не киляет :(
Как у вас?
Спасибо!


-------

Заметил что при скачке письма физически не удаляются, но вот скачивать их снип больше не собирается т.е. те что были получены ранее больше не скачиваются...
Есть у кого то опыт работы с Яшкой?
-----
Хм. Похоже не надо их было удалять просто тут
24*20, 20, true);
Я предполагал логику что удалит в папку Удаленные и потом можно руками назад положить на время тестов) Тут как то по другому видать работает) Просто хорошо бы видеть было визуально что оно удалило скачав (в почтовике через браузер) но то так...)
-----
Екшен принять почту по протоколу pop3 тоже не видит писем. Видимо фича такая) По imap.yandex.ru видит...
Не нашел тут
https://help.zennolab.com/en/v4/zennoposter/macros/4.3.5/ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~BulkMailDownload.html Екшена для imap.yandex.ru Переделать с Гугловского не получилось. Может есть у кого готовый?)
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Удаление писем целиком и полностью зависит от провайдера почты. Не со всеми пашет. Советую найти для себя провайдера с кем пашет, и делать все с ним, без изменения кода.
 
  • Спасибо
Реакции: APXOHT

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
http://help.zennolab.com/en/v4/zennoposter/macros/4.3.5/ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~BulkMailDownload.html
вот тут подробнее

24*2, 100, true
значит качать письма за последние два дня, максимум 100 писем, true = удалять письма из ящика (работа удаления зависит от провайдера почты и от настроек ящика (например в outlook нужно отдельно в настройках разрешить удалять)
Подскажите, как выкачать последние 100 писем, чтобы само настройки почты определял, логин и пароль из переменной брал и в таблицу сохранить

Код:
// download all messages from gmail with auto settings detection for last 100 days.
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("{-Variable.mail_login-}", "{-Variable.mail_pass-}", lastHours: 24*2, 100);
// вопрос - тут должен пробел стоять? перед ""//"" этот текст я удалю
// 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);
}
 

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
Переменные в этот С# код не вставляет, что же делать?
 

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
http://zennolab.com/wiki/ru:zennoposter:using-csharp-macro почитал, сделал так
Код:
var mail_login = project.Variables["mail_login"].Value;
var mail_pass = project.Variables["mail_pass"].Value;
// download all messages from gmail with auto settings detection for last 100 days.
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("mail_login", "mail_pass", lastHours: 24*100);
// 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);
}
чтото быстро очень это действие обрабатывает, в переменную ответа записывает Ок но таблица пуста
 

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
Всерано не работает, не вставляет значения "mail_login", "mail_pass" для BulkMailDownload из переменных, пробовал сразу вставить эти значения все работает. значит проблема что не вставляет данные полина и пароля из переменной. пробовал готовить код в обработке текста, ложить в переменную и вставлять в Свой C# код но не работает

что делать?
 

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
Убрал кавычки, вроде работает
 

AHiTO

Client
Регистрация
17.04.2016
Сообщения
17
Благодарностей
1
Баллы
3
Новая проблема. Для почт qip нужно сделать выгрузку.

Код:
var mail_login = project.Variables["mail_login"].Value;
var mail_pass = project.Variables["mail_pass"].Value;

// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload(mail_login,
       mail_pass, "pop.qip.ru", 110, false,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.POP3,
       24*2, 100, 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["Tabl1"].AddRow(tmp);
}
После выполнения действия таблица пустая.
Но через функцию "принять почту"
с такими настройками письма загружает
квип.JPG

Почему через код не работает?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 911
Баллы
113

Wzor

Client
Регистрация
02.01.2016
Сообщения
158
Благодарностей
27
Баллы
28
Новая проблема. Для почт qip нужно сделать выгрузку.

Код:
var mail_login = project.Variables["mail_login"].Value;
var mail_pass = project.Variables["mail_pass"].Value;

// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload(mail_login,
       mail_pass, "pop.qip.ru", 110, false,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.POP3,
       24*2, 100, 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["Tabl1"].AddRow(tmp);
}
После выполнения действия таблица пустая.
Но через функцию "принять почту"
с такими настройками письма загружает
Посмотреть вложение 14061

Почему через код не работает?
Аналогично, тоже не грузит письма с этим кодом через протокол pop3
Код этот работать перестал
В логе ошибок нет, типа выполнено успешно
 
Последнее редактирование:

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Не нашел тут
https://help.zennolab.com/en/v4/zennoposter/macros/4.3.5/ZennoLab.CommandCenter~ZennoLab.CommandCenter.ZennoPoster~BulkMailDownload.html Екшена для imap.yandex.ru Переделать с Гугловского не получилось. Может есть у кого готовый?)
Воспользуйтесь тем который подбирает настройки автоматически, с яндексом работает:

Код:
// download all messages from gmail with auto settings detection for last 100 days.
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]", "password", lastHours: 24*100);
==================================

Новая проблема. Для почт qip нужно сделать выгрузку.

После выполнения действия таблица пустая.
Но через функцию "принять почту"
с такими настройками письма загружает

Почему через код не работает?
Аналогично, тоже не грузит письма с этим кодом через протокол pop3
Код этот работать перестал
В логе ошибок нет, типа выполнено успешно
У меня код работает. Там удаление писем стоит, проверьте может тестовый ящик уже пуст.
 

Вложения

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
Подскажите кто знает как сделать чтобы код с автопоиском скачивал только три письма а не все за день
Код:
// download all messages from gmail with auto settings detection for last 100 days.
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("[email protected]", "password", lastHours: 24*1);
просто езменение lastHours: 24*1 на lastHours: 24*1, 3, true результата не принесло, код стал не рабочим(
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

Kirill_27

Новичок
Регистрация
15.03.2016
Сообщения
3
Благодарностей
0
Баллы
1

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 633
Благодарностей
962
Баллы
113
Вопрос по коду из первого сообщения - как сделать так, чтобы он работал через прокси? Если я установлю прокси всему проекту или кубиком перед кодом, он будет через прокси работать в таком случае?
 

SilverSun

Client
Регистрация
31.10.2013
Сообщения
172
Благодарностей
24
Баллы
18
Вопрос по коду из первого сообщения - как сделать так, чтобы он работал через прокси? Если я установлю прокси всему проекту или кубиком перед кодом, он будет через прокси работать в таком случае?
Нет, не будет.
 

Вложения

  • Спасибо
Реакции: Чешир

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Возможность использовать прокси в методе BulkMailDownload появилась в версии 5.10.1. Вот, например для сравнения, этот же метод в версии 5.10.0.

ZennoPoster 5.10.1.0 (10.11.2016)
Новые фичи:

[+] Добавлена поддержка proxy в почте.
 
  • Спасибо
Реакции: VladZen

bpunk

Client
Регистрация
23.08.2015
Сообщения
182
Благодарностей
31
Баллы
28
Подскажите, как выгружать письма, содержащие определенный текст в заголовке, например DMCA
Спасибо
 
  • Спасибо
Реакции: BotMastak

MaxLucky

Client
Регистрация
13.08.2017
Сообщения
186
Благодарностей
14
Баллы
18
Подскажите, как сделать так, чтобы письма выкачивались из определённой папки: Inbox или SPAM. И ещё такой вопрос, будут ли письма загружаться во второй раз, если они были прочитаны(в следствии выполнения кода)?

Код:
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("dasdsa.dsa***[email protected]",
       "*********", "pop.mail.ru", 995, true,
       ZennoLab.InterfacesLibrary.Enums.Email.EmailProtocol.POP3,
       24*100, 100, 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.Item3);
       project.Tables["Tabl1"].AddRow(tmp);
}
 

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