mimekit IMAP - Proxy C#

1275
09 декабря 2016, 08:46

Доброго времени суток, я использую библиотеку mimekit, для работы с IMAP. Но переискав весь интернет, я ничего толком и не нашел. Перелопатил кучу других IMAP библиотек, то поиск писем работает через заднее место, то нету документации как использовать прокси, и вообще можно ли у них использовать прокси. Такой вопрос, может кто знает, какую то библиотеку, или как можно использовать прокси в данной библиотеке, либо же в ImapX - Там такая же проблема с прокси.

Answer 1

Библиотека mimekit является всего лишь парсером. Вы должны предварительно подготовить(создать,скачать)MIME-контент на который и натравите библиотеку.

Предположительно у Вас связка MailKit + Mimekit. Одним из параметров метода connect(), библиотеки MailKit, является socket. Соответственно Вам необходимо самостоятельно реализовать функционал прокси и передать свой socket в метод connent. Чтобы не листать спецификацию предложу воспользоваться готовым решением ProxySocket.

string server = "imap.yandex.ru";
int port = 993;
string proxyIP = "0.0.0.0";
int proxyPort = 1080;

client = new ImapClient() // imap клиент
...    
ProxySocket socket = new ProxySocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.ProxyEndPoint = new IPEndPoint(IPAddress.Parse(proxyIP ), proxyPort);
socket.ProxyType = ProxyTypes.Socks4;
socket.Connect(server, port);
if (socket.Connected)
{
      client.Connect(socket, server, port);
}
...
READ ALSO
ASP.NET: серверные элементы управления (с префиксом ASP) обрабатываются на сервере через C#, VB или на клиенте, через JS?

ASP.NET: серверные элементы управления (с префиксом ASP) обрабатываются на сервере через C#, VB или на клиенте, через JS?

Допустим, имеется кнопка (не submit, а обычная кнопка), с префиксом asp (asp:button) и атрибутом runat = server

360
Распараллеливание списка

Распараллеливание списка

Добрый деньУ меня возникла следующая задача: я получаю список строк, после этого создаю экземпляр класса и вызываю в нём метод

369
html Как обрезать ссылку

html Как обрезать ссылку

Имеется строка:

421
Как очистить errorprovider через заданный timeout?

Как очистить errorprovider через заданный timeout?

Есть 10 контролов, есть один errorproviderЕсли в контроле нет текста, появляется сообщение типа

356