【问题标题】:Cannot get IIS pickup directory (From Windows Service)无法获取 IIS 拾取目录(来自 Windows 服务)
【发布时间】:2011-09-12 13:12:44
【问题描述】:

我在从 Windows 服务发送电子邮件时遇到上述错误。非常感谢您的建议。

SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.Send(mailMsg);

配置

<system.net>
    <mailSettings>
        <smtp from="user1@mycompany.com" deliveryMethod="Network">
            <network host="smtpsvr.mycompany.com" port="25" defaultCredentials="true" />
        </smtp>
    </mailSettings>
</system.net>

【问题讨论】:

  • 很有可能,运行您网站的进程无权访问存储拾取目录名称的 IIS 元数据库,这就是您的错误的一般原因。

标签: c# asp.net iis c#-3.0 iis-6


【解决方案1】:

也许我的不是您要搜索的答案,但试试这个(避免 IIS):

try
{
    // To
    MailMessage mailMsg = new MailMessage();
    mailMsg.To.Add(to_Address);

    // From
    MailAddress mailAddress = new MailAddress(from_address);
    mailMsg.From = mailAddress;

    // Subject and Body
    mailMsg.Subject = subject;
    mailMsg.Body    = body;

    // Init SmtpClient and send
    SmtpClient smtpClient = new SmtpClient(smtp_server, port);
    // System.Net.NetworkCredential credentials =
    //    new System.Net.NetworkCredential(smtp_user, smtp_pwd);
    // smtpClient.Credentials = credentials;

    smtpClient.Send(mailMsg);
}
catch (Exception ex)
{
    Console.WriteLine( ex.Message );
}

【讨论】:

  • 感谢您的回复,但是windows服务中的代码是由不同方维护的,在其他环境下运行良好。
【解决方案2】:

您可能需要手动设置 SmtpClient PickupDirectory。

在 Lukas Pokorny 的回答中有一个如何做到这一点的例子:

Cannot get IIS pickup directory

【讨论】:

  • 其实我想用“network”作为deliveryMethod,因为SMTP服务器是一个单独的服务器。
【解决方案3】:

尝试将以下行添加到您的程序中。此行需要在您的桌面上运行 IIS Admin 和 SMTP 服务。

smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

所以会变成这个样子

SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.Send(mailMsg);

【讨论】:

    猜你喜欢
    • 2011-01-12
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多