以下代码,在.net core 2环境中编写,适用于
Windows环境,但不适用于
Linux环境.
string host = "10.99.99.10"; int port = 25; string userName = "user@user.com"; 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环境下工作?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。