此邮件服务器在从本地托管域发送邮件之前需要身份验证

问题描述 投票:0回答:1

我在 asp.net c# 中发送邮件时遇到错误

错误提示

用户非本地;请尝试不同的路径。服务器响应是: 该邮件服务器在从某个地址发送邮件之前需要进行身份验证 本地托管域。请重新配置您的邮件客户端 发送邮件之前进行身份验证。

    string result = "";
    try
    {
        string SmtpHost = "mail.catertainment.com";
        int port = 25;

        string path = string.Format("{0}{1}", Common.ApplicationVirtualRootUrl, "admin.xml");
        XmlDocument doc = new XmlDocument();
        doc.Load(path);
        XmlNode root = doc.DocumentElement;
        XmlNodeList nodeList = root.SelectNodes("//COMMONSETTING/EMAILSETTING");
        foreach (XmlNode node in nodeList)
        {
            SmtpHost = node.SelectSingleNode("SMTP_HOST").InnerText;
            port = Convert.ToInt32(node.SelectSingleNode("SMTP_PORT").InnerText);
        }

        int i = 0;
        MailMessage mailMessage = new MailMessage();
        mailMessage.From = new MailAddress("dhasarathan@***.com", "Dhasarathan");
        for (i = 0; i < toAddresses.Length; i++)
        {
            mailMessage.To.Add(toAddresses[i]);
        }
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.Priority = MailPriority.High;
        mailMessage.IsBodyHtml = true;
        if (ccAddresses != null)
        {
            for (i = 0; i < ccAddresses.Length; i++)
            {
                mailMessage.CC.Add(ccAddresses[i]);
            }
        }
        if (bccAddresses != null)
        {
            for (i = 0; i < bccAddresses.Length; i++)
            {
                mailMessage.Bcc.Add(bccAddresses[i]);
            }
        }
        SmtpClient smtpClient = null;
        if (!string.IsNullOrEmpty(SmtpHost) && port != 0)
            smtpClient = new SmtpClient(SmtpHost, port);
        else
            smtpClient = new SmtpClient();
        smtpClient.EnableSsl = false;           
        smtpClient.Credentials = new System.Net.NetworkCredential("erp@******.com", "*****");           
        smtpClient.Send(mailMessage);
        result = "Success";
    }
    catch (Exception ex)
    {
        result = "Failure due to " + ex.Message;
    }
    return result;
c# asp.net email
1个回答
0
投票

我也有同样的问题。我的密码已过期,然后我更新了密码,问题已解决。

在以下行检查您的密码:

smtpClient.Credentials = new System.Net.NetworkCredential("erp@******.com", 更新密码);

© www.soinside.com 2019 - 2024. All rights reserved.