代码发送电子邮件

时间:2010-04-04 17:00:44

标签: c# .net asp.net visual-studio

我在这里做错了什么?

 private void SendMail(string from, string body)
    {
        string mailServerName = "plus.pop.mail.yahoo.com";
        MailMessage message = new MailMessage(from, "aditya15417@yahoo.com", "feedback", body);
        SmtpClient mailClient = new SmtpClient();
        mailClient.Host = mailServerName;
        mailClient.Send(message);
        message.Dispose();
    }

我收到以下错误:

连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应209.191.108.191:25

3 个答案:

答案 0 :(得分:5)

您正在使用wrong server。您需要使用SMTP设置。

尝试此服务器:plus.smtp.mail.yahoo.com他们的网站将此主机记录为SSL。

private void SendMail(string from, string body) 
{ 
    string mailServerName = "plus.smtp.mail.yahoo.com"; 
    int mailServerPort = 465;
    string toAddress = "aditya15417@yahoo.com";
    string subject = "feedback";

    string username = "user";
    string password = "password";

    SmtpClient mailClient = new SmtpClient(mailServerName, 
                                           mailServerPort); 
    mailClient.Host = mailServerName; 
    mailClient.Credentials = new NetworkCredential(username, 
                                                   password);
    mailClient.EnableSsl = true;

    using (MailMessage message = new MailMessage(from, 
                                                 toAddress, 
                                                 subject, 
                                                 body))
        mailClient.Send(message); 
} 

答案 1 :(得分:5)

您需要使用SMTP服务器,看起来就像使用的是POP3服务器。

答案 2 :(得分:0)

要使用Yahoo邮件服务器发送电子邮件,您需要在SmtpClient实例上设置EnableSSL = true。

您还需要使用正确的端口465。

本网站上有很多教程真正涵盖了如何使用System.Net.Mail命名空间: