0

我有以下代码不起作用:

public static void SendMail(string content, string title, List<string> address)
{
   SmtpClient client = new SmtpClient(Server,Port);
   client.Port = Port;
   client.Host = Server;
   client.EnableSsl = false;
   client.Timeout = 10000;
   client.DeliveryMethod = SmtpDeliveryMethod.Network;
   client.UseDefaultCredentials = false;
   client.Credentials = new System.Net.NetworkCredential(Username, Password);

   foreach(string to in address)
   {
      MailMessage mm = new MailMessage(From, to, title, content);
      mm.BodyEncoding = UTF8Encoding.UTF8;
      mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

      client.Send(mm);
   }
   client.Dispose();
}

我收到以下错误:

信箱不可用。服务器响应是:您必须提供您的用户名和密码才能通过此服务发送邮件

您可以看到我正在传递用户名和密码。为什么我仍然遇到这个问题?

4

1 回答 1

2

这里我使用的是使用 gmail 服务器的示例

MailMessage mail = new MailMessage();
        mail.To.Add(textBox1.Text);

        mail.From = new MailAddress("Yourgmailid");
        mail.Subject = "Email using Gmail";

        string Body = "Hi, this mail is to test sending mail" +
                      "using Gmail in ASP.NET";
        mail.Body = Body;

        mail.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com"; 
        smtp.Credentials = new System.Net.NetworkCredential
             ("Yourgmailid, "Password");

        smtp.EnableSsl = true;
        smtp.Send(mail);
于 2013-02-08T17:16:58.153 回答