SmtpException:无法获取 IIS 拾取目录

SmtpException: Cannot get IIS pickup directory

我正在尝试从我的 mvc 应用程序发送电子邮件。以下是我正在使用的部分代码:

SmtpClient smtpClient = new SmtpClient();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.UseDefaultCredentials = true;
smtpClient.Send(message);

以上代码报错:

Cannot get IIS pickup directory SmtpException.

但是如果我 运行 我的 Visual Studio 作为管理员,电子邮件发送成功。

如果我没理解错的话,问题是关于访问权限,但我就是想不通。 如果相关,则该应用程序是具有 windows 身份验证的 Intranet 应用程序。

尝试手动设置取件目录:

// C#

client.PickupDirectoryLocation = ...;

或者在 ASP.NET 的 Web.config 中设置:

<configuration>
    <system.net>
        <mailSettings>
            <smtp deliveryMethod="SpecifiedPickupDirectory">
                <specifiedPickupDirectory
                    pickupDirectoryLocation="..." />
                <network defaultCredentials="false" />
            </smtp>
        </mailSettings>
    </system.net>
</configuration>