在IIS7中使用我的SMTP服务器发送电子邮件时的权限错误

时间:2012-03-17 04:54:21

标签: c# asp.net iis iis-7 smtp

我最近刚用IIS7购买了自己的服务器,我正在尝试设置SMTP以便我可以从我的网站发送电子邮件。

这是我的smtp设置:

enter image description here

以下是我发送电子邮件的代码:

private static void SendEmail(IEnumerable<MailAddress> to,
    IEnumerable<MailAddress> bcc, MailAddress from,
    string subject, string bodyHtml)
    {
        var mail = new MailMessage { From = from, Subject = subject,
            Body = bodyHtml, IsBodyHtml = true };

        foreach (var address in to)
        {
            mail.To.Add(address);
        }

        foreach (var address in bcc)
        {
            mail.Bcc.Add(address);
        }

        try
        {
            string server = ConfigurationManager.AppSettings["SMTPServer"];
            int port = Int32.Parse(ConfigurationManager.AppSettings["SMTPPort"]);

            var smtp = new SmtpClient
                           {
                               Host = server,
                               Port = port
                           };

            smtp.Send(mail);
        }
        catch (Exception err)
        {
        }
    }

我的配置设置:

<add key="SMTPServer" value="localhost" />
<add key="SMTPPort" value="25" />

我在smtp.Send(mail);收到错误消息:

  

错误的命令序列。服务器响应是:此邮件服务器在尝试发送到非本地电子邮件地址时需要身份验证。请检查您的邮件客户端设置或联系您的管理员以验证是否为此服务器定义了域或地址。

好吧,我的smtp服务器上没有身份验证要求,它在屏幕截图的设置中也是如此。

我环顾四周,如果他们从他们设置中指定的其他电子邮件发送电子邮件,其他人就遇到了这个问题,但我是从info@mysite.com发送的。我将其发送到@gmail.com帐户,因此它会发送到非本地电子邮件地址。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

我想为其他人搜索

添加答案

确保SMTP已启动并正在运行且未引发任何错误。这是一个可能有用的参考。

http://forums.iis.net/p/1157046/1901343.aspx

答案 1 :(得分:0)

当我想发送邮件时,我遇到了两个以上的人。

我只是将其发送给2个人。 我的问题解决了。