c# – SmtpClient.Send不适用于linux环境

c# – SmtpClient.Send不适用于linux环境,第1张

概述以下代码,在.net core 2环境中编写,适用于 Windows环境,但不适用于 Linux环境. string host = "10.99.99.10";int port = 25;string userName = "[email protected]";string password = "password";string from = userName;var client = n 以下代码,在.net core 2环境中编写,适用于 Windows环境,但不适用于 Linux环境.

string host = "10.99.99.10";int port = 25;string username = "[email protected]";string password = "password";string from = username;var clIEnt = new SmtpClIEnt{    Host = host,Port = port,EnableSsl = false,DeliveryMethod = SmtpDeliveryMethod.Network,UseDefaultCredentials = false,Credentials = new NetworkCredential(username,password)};MailMessage mailMessage = new MailMessage();mailMessage.From = new MailAddress(from);mailMessage.To.Add(username);mailMessage.Body = "This is test mail.";mailMessage.Subject = "Testing";                clIEnt.Send(mailMessage);

例外:发送邮件失败.

InnerExcepiton:

System.ComponentModel.Win32Exception (0x80004005): GSSAPI operation Failed with error - An invalID status code was supplIEd (UnkNown error).   at System.Net.Security.NegotiateStreamPal.AcquireCredentialsHandle(String package,Boolean isServer,NetworkCredential credential)   at System.Net.NTAuthentication.Initialize(Boolean isServer,String package,NetworkCredential credential,String spn,ContextFlagsPal requestedContextFlags,ChannelBinding channelBinding)   at System.Net.Mail.SmtpNtlmAuthenticationModule.Authenticate(String challenge,Object sessioncookie,ChannelBinding channelBindingToken)   at System.Net.Mail.SmtpConnection.SetContextAndTryAuthenticate(ISmtpAuthenticationModule module,ContextAwareResult context)   at System.Net.Mail.SmtpConnection.GetConnection(String host,Int32 port)   at System.Net.Mail.SmtpTransport.GetConnection(String host,Int32 port)   at System.Net.Mail.SmtpClIEnt.GetConnection()   at System.Net.Mail.SmtpClIEnt.Send(MailMessage message)

堆栈跟踪:

at System.Net.Mail.SmtpClIEnt.Send(MailMessage message)   at MyProject.Helper.Utils.SendMail() in C:\Test\MyProject\MyProject.Helper\Utils.cs:line 146

linux:Ubuntu 16.04.3 LTS

这是一个控制台应用程序.
为什么不在linux环境下工作?

解决方法 我认为这是一个代码错误,因为我有错误,但事实并非如此.当我在邮件服务器端给出中继权限时,我的问题就解决了.我认为它是在windows环境中自动执行此 *** 作. 总结

以上是内存溢出为你收集整理的c# – SmtpClient.Send不适用于linux环境全部内容,希望文章能够帮你解决c# – SmtpClient.Send不适用于linux环境所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存