MailAddress fromEmail = new MailAddress("[email protected]", "xxx");//发件人的地址和发件人名称
        MailAddress toEmail = new MailAddress(emailAddress, "xxx");//收件人地址和收件人名称
        MailMessage mail = new MailMessage(fromEmail, toEmail);        mail.Body = "内容";//发送邮件的内容 
        mail.Subject = "xxx";//发送邮件的标题 
        mail.IsBodyHtml = true;
        mail.BodyEncoding = Encoding.UTF8;
        mail.Priority = MailPriority.Normal;        SmtpClient smtpClient = new SmtpClient();
        smtpClient.Host = Common.GetSMTPServer(emailAddress);//这里设置成你的smtp主机名或者ip地址
        smtpClient.Port = 25;        smtpClient.EnableSsl = false;
        smtpClient.UseDefaultCredentials = false;
        smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
        smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "xxx");//你的用户名和密码
        smtpClient.Send(mail);SMTP服务器地址,邮箱用户名密码都没有错,点击发送提示
  SMTP 服务器要求安全连接或客户端未通过身份验证。 服务器响应为: Authentication required  
将smtpClient.EnableSsl = false;
改为true又提示 服务器不支持安全连接。
请问应该如何解决?另外163不支持SMTP怎么解决啊?
我做的是用户找回密码功能,每个用户的邮箱SMTP服务器不是固定的,肯定要都考虑各种常用的邮件服务器吧!

解决方案 »

  1.   

    开通发件人邮箱的SMTP服务就可以了
      

  2.   

    登录你的新浪邮箱SMTP相关 参数
      

  3.   

    public static bool SendEmail(string mailFrom, string subject, string content, params string[] mailTo)
            {
                SmtpClient client = new SmtpClient("138.35.160.239");
                client.UseDefaultCredentials = false;
                client.DeliveryMethod = SmtpDeliveryMethod.Network;            MailMessage message = new MailMessage();
                message.From = new MailAddress(mailFrom);
                for (int i = 0; i < mailTo.Length; i++)
                {
                    message.To.Add(mailTo[i].ToString());
                }            message.Sender = new MailAddress(mailFrom);
                message.BodyEncoding = System.Text.Encoding.Default;
                message.IsBodyHtml = true;
                message.Subject = subject;
                message.Body = content;
                client.Send(message);
                return true;
            }
      

  4.   

    我想问一下,这里设置的是收方的参数,还是发方的参数?比如我的发方固定是[email protected],收方由用户的输入指定。这里的设置应该都是针对我的新浪邮箱的吧?而收方不要做任何设置?
     smtpClient.Port = 25;
     smtpClient.EnableSsl = false;
     smtpClient.UseDefaultCredentials = false;
     smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;