我正在使用可以发送支持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")
答案 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用于非付费用户(订阅服务)。