簡體   English   中英

無法使用已發布的 netcore2.1 應用發送電子郵件

[英]Unable to send emails with published netcore2.1 app

通過 VS 2017 運行我的項目的構建Release版本與publish版本時,我發送電子郵件的行為不一致。 該項目使用以下代碼發布:

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

當我使用已發布的文件 ( Source\<project>\bin\Release\netcoreapp2.1\win-x64\publish ) 作為 Windows 服務的源時,email 發送功能不起作用並且不會引發/記錄錯誤。 通過記錄我可以確認正確的行被擊中。

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);

另一方面,當我通過 VS 2017 運行完全相同項目的Release版本時,它發送電子郵件沒有問題。

我已經在同一個帳戶下運行了 Windows 服務和 Visual Studio,所以問題不應該是權限。

我的項目的已發布版本無法發送電子郵件的原因可能是什么?

我缺少DeliveryMethod的配置,這阻止了郵件的發送。 添加0DeliveryMethod解決了該問題。 不知道為什么這沒有拋出異常

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM