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

  • Автор темы Автор темы Svyat
  • Дата начала Дата начала

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 появляется.

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

Вложения

  • 1.jpg
    1.jpg
    209,8 KB · Просмотры: 138
  • Спасибо
Реакции: APXOHT и Mikhail B.
В таблице должны быть. Приложите семпл ваш.
 
Я поменял мыло поставил другое но на тоже на aol
Проверь пожалуйста.
 

Вложения

http://help.zennolab.com/en/v4/zenn...mmandCenter.ZennoPoster~BulkMailDownload.html
вот тут подробнее

24*2, 100, true
значит качать письма за последние два дня, максимум 100 писем, true = удалять письма из ящика (работа удаления зависит от провайдера почты и от настроек ящика (например в outlook нужно отдельно в настройках разрешить удалять)
 
http://help.zennolab.com/en/v4/zenn...mmandCenter.ZennoPoster~BulkMailDownload.html
вот тут подробнее

24*2, 100, true
значит качать письма за последние два дня, максимум 100 писем, true = удалять письма из ящика (работа удаления зависит от провайдера почты и от настроек ящика (например в outlook нужно отдельно в настройках разрешить удалять)
Подскажи я хочу вставлять входные параметры в С# код т.е. почту пароль. Как передать переменные в Си код ?
 
Код:
Развернуть Свернуть Копировать
project.Variables["Variable"].Value
 
Подскажите, можно сообщения просто скачивать, но при этом не удалять их?
 
  • Спасибо
Реакции: samsonnn
Ребят, а кто то может проверить этот снип
Код:
Развернуть Свернуть Копировать
// download all messages from yandex via POP3 and add results to the table
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("superuser@yandex.ru",
       "ххххххххххх", "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/zen...mmandCenter.ZennoPoster~BulkMailDownload.html Екшена для imap.yandex.ru Переделать с Гугловского не получилось. Может есть у кого готовый?)
 
Последнее редактирование:
Удаление писем целиком и полностью зависит от провайдера почты. Не со всеми пашет. Советую найти для себя провайдера с кем пашет, и делать все с ним, без изменения кода.
 
  • Спасибо
Реакции: APXOHT
http://help.zennolab.com/en/v4/zenn...mmandCenter.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);
}
 
Переменные в этот С# код не вставляет, что же делать?
 
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);
}

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

что делать?
 
Убрал кавычки, вроде работает
 
Новая проблема. Для почт 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

Почему через код не работает?
 
Новая проблема. Для почт 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
Код этот работать перестал
В логе ошибок нет, типа выполнено успешно
 
Последнее редактирование:
Не нашел тут
https://help.zennolab.com/en/v4/zen...mmandCenter.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("mail@yandex.ru", "password", lastHours: 24*100);

==================================

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

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

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

Вложения

Подскажите кто знает как сделать чтобы код с автопоиском скачивал только три письма а не все за день
Код:
Развернуть Свернуть Копировать
// download all messages from gmail with auto settings detection for last 100 days.
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("mail@yandex.ru", "password", lastHours: 24*1);
просто езменение lastHours: 24*1 на lastHours: 24*1, 3, true результата не принесло, код стал не рабочим(
 
Подскажите кто знает как сделать чтобы код с автопоиском скачивал только три письма а не все за день
Код:
Развернуть Свернуть Копировать
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("mail@yandex.ru", "password", lastHours: 24, maxCount: 3, deleteMessages: true);
 
Код:
Развернуть Свернуть Копировать
Tuple<string, string, string, string>[] allMails;
allMails = ZennoPoster.BulkMailDownload("mail@yandex.ru", "password", lastHours: 24, maxCount: 3, deleteMessages: true);
Извиняюсь за сообщение не по теме, можете отписать мне в личку? Стратегически важный вопрос по Zenno
Либо сразу на почту memfis27@mail.ru
 
Вопрос по коду из первого сообщения - как сделать так, чтобы он работал через прокси? Если я установлю прокси всему проекту или кубиком перед кодом, он будет через прокси работать в таком случае?
 
Вопрос по коду из первого сообщения - как сделать так, чтобы он работал через прокси? Если я установлю прокси всему проекту или кубиком перед кодом, он будет через прокси работать в таком случае?
Нет, не будет.
 

Вложения

  • test.xmlz
    test.xmlz
    14,7 KB · Просмотры: 34
  • Спасибо
Реакции: Чешир
Возможность использовать прокси в методе BulkMailDownload появилась в версии 5.10.1. Вот, например для сравнения, этот же метод в версии 5.10.0.

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

[+] Добавлена поддержка proxy в почте.
 
  • Спасибо
Реакции: VladZen
Подскажите, как выгружать письма, содержащие определенный текст в заголовке, например DMCA
Спасибо
 
  • Спасибо
Реакции: BotMastak
Подскажите, как сделать так, чтобы письма выкачивались из определённой папки: 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***.2020@inbox.ru",
       "*********", "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);
}
 

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