Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Получение и Отправка почты по POP3, SMTP


Автор: DarkDragon 24.9.2006, 22:59
Лазил я, лазил в Socket'ах, а пальцы так и не лезут в резеткуsmile
Если возможность реализовать на VS 2003. Либо библиотечка бесплатна?smile

А то столько почтовых баков, и не в одной программе не удобно работать. А в страницу лезть, вооще торба smile 
Воть и надо писать под свои нужды и вкусыsmile Как сказано высше токам меня не бьеть.

Пожалуйста подключите ~220 вольт. Оч вас прошу.

Автор: Exception 26.9.2006, 21:20
Поищи примеры по использованию классов из пространства имён System.Net.Mail.

Автор: DarkDragon 26.9.2006, 22:17
Exception у меня нет System.Net.Mail, точнее Net есть, а мыло нету.
Есть System.Web.Mail, но тока MailMessage, MailAttach, SmtpMail, и се, а вот pop3 нету, и то не понятно куда
вводить user login, password. В smtp тока Server и ф-ция send. Воощем тупик. Остается тока резетки. А вот как с ними бозар зависти, не в курсе. MSDN на .com не грузится. Версия Visual Studio 2003 без MSDN,а вот на 2000 версии(на 7 дисках) в комплект входит. Но не куда уже грузить 2000 версию. Да и думаю что из этого ни чего хорошего не выйдет (2000 и 2003 на одном компе). Пробовал ставить MSDN из 2000 версии, ругается.

Автор: Exception 28.9.2006, 08:00
http://www.codeproject.com/cs/internet/pop3library.asp

Автор: DarkDragon 28.9.2006, 23:48
В Browser'е тупо грузит. Но рубил портал. Ща качкану, и в offline гляну. 
Пасибо за ссылку!

Автор: DarkDragon 9.12.2006, 20:03
Палазив по паутине, пересматрев статьи на codeproject'e, смог во все врубиться.
Вообщем smtp можно работать и со сдандартными классами.

Не знаю как в 2005 версии(еще не изучил), но вот в 2003 версии через резетки кульно получается.
Вообщем нам нужны классы Socket, LingerOption, IPAddress, IPEndPoint, ну и вообщем команды pop3.
Команды к pop3 и не только, можно найти на http://ru.wikipedia.org, ввести в поиск pop3 и пускай поищет.

Socket'ы создаются и настраиваются следующим образом:
Код

            Dim sock As Socket
            sock = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

            Dim linger As New LingerOption(True, 10)
            Dim addr As IPAddress = Dns.Resolve([адрес сервера]).AddressList(0)
            Dim pHost As IPEndPoint = New IPEndPoint(addr, [обычно 110-ый])

            sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, [класс LingerOption])
            sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, [целое число(int32) указывающее тайм аут для отсылки])
            sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, [тоже самое что и Send, только для получения])

            sock.Connect (pHost);


Команды отсылаются и принимаются в кодировке ASCII, ввиде массивов байтов. Все это можно устроить через System.Text.Encoding.

Вот и резетка smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)