- Регистрация
- 07.05.2015
- Сообщения
- 2 177
- Благодарностей
- 2 183
- Баллы
- 113
В редких случаях после длительной работы ZennoPoster не всегда принимает письмо родными кубиками. Перешел на C#, там легче правки вносить и не слетают настройки, но потом задумался, что лучше попробовать еще хитрее метод: через библиотеку MailKit.dll принимать письма. Благодаря подсказкам в старых темах на форуме удалось ее подключить. Но возникла проблема с работой через прокси, нет нормальных примеров, и моего знания C# мало чтобы самому справиться.
Нет у кого рабочего шаблона или отрезка кода с правильным подключением прокси в связке MailKit.dll+ZennoPoster для приема почты? А то просто некоторые почтовики банят за частое обращение с одного IP.
Вот делюсь готовым мини-шаблоном для скачивания писем в список. В архиве все библиотеки, и вот сам код:
В директивах Using прописано:
Нет у кого рабочего шаблона или отрезка кода с правильным подключением прокси в связке MailKit.dll+ZennoPoster для приема почты? А то просто некоторые почтовики банят за частое обращение с одного IP.
Вот делюсь готовым мини-шаблоном для скачивания писем в список. В архиве все библиотеки, и вот сам код:
C#:
var server = "imap-mail.outlook.com";
string port = "993";
int count = 3; // предел сколько писем брать в обработку (берет начиная от новых)
var login = project.Variables["mail_login"].Value; // переменная с логином типа: [email protected] (смените на рабочую, а то эта умрет на днях)
var password = project.Variables["mail_password"].Value; // пароль от почты: cUwyru9t008
project.Lists["Mails_SourceList"].Clear(); // очищаем список, в который будет скачивать письма
try {
using (var client = new ImapClient())
{
client.Connect(server, int.Parse(port), true);
client.Authenticate(login, password);
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadWrite);
for (int i = inbox.Count-1; i >=0 && i >= inbox.Count - count; i--)
{
var message = inbox.GetMessage(i);
project.Lists["Mails_SourceList"].Add(message.Subject + "\r\n" + message.TextBody);
}
client.Disconnect(true);
}
} catch (Exception e){
return e.Message;
}
Код:
using MailKit.Net.Imap;
using MailKit;
Вложения
-
642,9 КБ Просмотры: 280
Последнее редактирование: