Не удается получить каталог раскладки IIS (из службы Windows) - PullRequest
0 голосов
/ 12 сентября 2011

Я сталкиваюсь с вышеупомянутой ошибкой при отправке писем из службы 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>

Ответы [ 3 ]

0 голосов
/ 12 сентября 2011

Возможно, вам нужно установить SmtpClient PickupDirectory вручную.

В ответе Лукаса Покорного есть пример того, как это сделать:

Невозможно получить каталог раскладки IIS

0 голосов
/ 16 сентября 2011

Попробуйте добавить следующую строку в вашу программу.Эта строка требует, чтобы на вашем рабочем столе работала служба IIS Admin и SMTP.

smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

Таким образом, она станет такой:

SmtpClient smtpClient = new SmtpClient();
MailMessage mailMsg = this.ComposeMailMessage();
smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtpClient.Send(mailMsg);
0 голосов
/ 12 сентября 2011

Возможно, мой ответ не тот, который вы ищете, но попробуйте это (избегая 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 );
}
...