Невозможно отправлять электронные письма с опубликованным приложением netcore2.1 - PullRequest
0 голосов
/ 07 мая 2020

У меня непоследовательное поведение при отправке электронных писем при запуске встроенной версии Release моего проекта через VS 2017 по сравнению с версией publish. Проект публикуется со следующим кодом:

dotnet publish -c Release -r win-x64 --framework netcoreapp2.1

Когда я использую опубликованные файлы (Source\<project>\bin\Release\netcoreapp2.1\win-x64\publish) в качестве источника для службы Windows, функция отправки электронной почты не работает и ошибок нет. брошено / зарегистрировано. Посредством ведения журнала я могу подтвердить, что выбраны правильные строки.

var smtpClient = new SmtpClient
{
    Host = configSettings.SmtpClientConfig.Host,
    Port = configSettings.SmtpClientConfig.Port,
    UseDefaultCredentials = configSettings.SmtpClientConfig.UseDefaultCredentials,
    DeliveryMethod = configSettings.SmtpClientConfig.DeliveryMethod,
    PickupDirectoryLocation = Directory.GetCurrentDirectory() + configSettings.SmtpClientConfig.PickupDirectoryLocation,
};

smtpClient.Send(await mail);

С другой стороны, когда я запускаю Release версию того же проекта через VS 2017, он без проблем отправляет электронные письма .

Я запустил службу Windows и Visual Studio под одной учетной записью, поэтому проблемы не должны быть разрешениями.

Что могло быть причиной того, что опубликованная версия моего проекта не была в состоянии отправлять электронные письма?

1 Ответ

0 голосов
/ 08 мая 2020

У меня отсутствовала конфигурация для DeliveryMethod, которая препятствовала отправке писем. Добавление DeliveryMethod из 0 устранило проблему. Не знаю, почему это не сгенерировало исключение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...