无法使用vb.net发送雅虎电子邮件

时间:2009-12-27 07:25:21

标签: vb.net email-integration

我正在使用可以发送支持yahoo邮件和Gmail的电子邮件的程序。并且它在gmail中工作(如果发件人使用gmail)但如果发件人使用雅虎邮件它将无法工作。 这是我的代码:

    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")

2 个答案:

答案 0 :(得分:1)

看起来您可能正在使用wrong port?试试这个

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

修改 好的,那没用。实际上,是不是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

答案 1 :(得分:0)

雅虎将Port 465用于非付费用户(订阅服务)。