[英]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
的配置,這阻止了郵件的發送。 添加0
的DeliveryMethod
解決了該問題。 不知道為什么這沒有拋出異常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.