2009-05-20 3 views
0

Я пишу класс для подключения к SMTP-серверу через SSL и отправки почты. Сервер smtp, который я использую (yahoo), требует аутентификации. Может ли кто-нибудь сказать мне, как происходит аутентификация, какие команды я должен использовать для отправки моих учетных данных?smtp Authentication

Примечание: Я знаю о JavaMail API. Я просто хочу, чтобы простой класс отправлял почту без внешних библиотек.

+3

Reinventing the wheel - редко хорошая идея. Если не существует очень убедительной причины не использовать существующую библиотеку, было бы глупо повторять ее, даже если вас интересует только ее часть. – Kris

ответ

3

Internet RFC 821 охватывает основы протокола SMTP и RFC 2554 охватывает расширения аутентификации. Вам понадобится много из них, чтобы получить работоспособного клиента SMTP.

Но, на самом деле, это гораздо проще использовать JavaMail (если это не домашнее задание, и в этом случае, я предполагаю, что будет обман.)

0

Вы можете сделать это, следуя в C#

class smtp 
{ 
    SmtpClient client; 
    MailMessage mm; 

    void send() 
    { 
     mm.send(); 
    } 


    void smtp_configure() 
    { 
    client.Credentials = new NetworkCredential(username, password); 
       client.Port = smtp_port; 
       client.Host = smtp_host;    
       client.EnableSsl = true; 
    } 
    message_configure() 
    { 
     mm = new MailMessage(From, To); 
     mm.Body = MgsText; 
     mm.BodyEncoding = Encoding.UTF8; 
     mm.Subject = Subject; 
    } 

    Main() 
    { 
     smtp_configure(); 
     message_configure(); 
     send(); 
    } 

} 
+0

TODO: выведите правильные операторы '' import''', чтобы заставить это работать. [javax-mail] [] [javax.mail]: http://www.oracle.com/technetwork/java/javamail/javamail145-1904579.html – easyE