2009-12-27 4 views
1

저는 야후 메일과 Gmail을 지원하는 이메일을 보낼 수있는 프로그램을 사용하고 있습니다. 그리고 gmail에서 작동합니다 (보낸 사람이 gmail을 사용하는 경우). 그러나 보낸 사람이 야후 메일을 사용하고 있으면 작동하지 않습니다. 당신이 wrong port을 사용하고있는 것처럼님이 vb.net을 사용하여 yahoo 이메일을 보낼 수 없습니다.

mail.From = New MailAddress(TextBox2.Text) 
    mail.To.Add(New MailAddress(TextBox1.Text)) 
    mail.Subject = TextBox4.Text 
    mail.Body = TextBox4.Text 



    mail.IsBodyHtml = True 

    Dim client2 As SmtpClient = New SmtpClient("smtp.mail.yahoo.com", 25) 
    Dim client As SmtpClient = New SmtpClient("smtp.gmail.com", 587) 




    client.EnableSsl = True 
    client.Credentials = New System.Net.NetworkCredential(TextBox2.Text, TextBox3.Text) 


    Try 
     client.Send(mail) 
    Catch ex As Exception 
     MessageBox.Show("Sending email failed. Please Try again") 
+0

예외의 세부 사항을 아는 것은 흥미로울 것입니다. – MarkJ

+0

System.dll에서 'System.Net.Mail.Smt.SException'유형의 첫 번째 예외가 발생했습니다. '[2660] rewmail.vshost.exe : Managed'프로그램이 코드 0 (0x0)으로 종료되었습니다. – user225269

답변

1

가 보이는 : 여기 내 코드? 작동하고 있지 않습니다

Dim client2 As SmtpClient = New SmtpClient("smtp.mail.yahoo.com", 587) 

편집 OK를보십시오. 실제로 SMTP 주소도 잘못되지 않았습니까?

Dim client2 As SmtpClient = New SmtpClient("plus.smtp.mail.yahoo.com", 587) 

또한 Try 블록에 전체 프로그램을 마무리하고 SmtpException을 잡아 특별한 SmtpStatusCode을 작성할 수

Try 
    ' Blah blah ' 
Catch (SmtpException e) 
    Console.WriteLine("Error: {0} {1}", e.StatusCode, e.ToString) 
End Try 
+0

을 587로 변경하려고했으나 아직 운이 없습니다. – user225269

0

야후는 비 지불 사용자 (구독 서비스)에 대한 포트 465을 사용합니다.

관련 문제