客户端电子邮件- c#
本文关键字:电子邮件 客户端 | 更新日期: 2023-09-27 18:09:06
我不明白为什么这段代码不工作。
我有这个错误:
-
先。IOException:连接关闭at System.Net.Mail.SmtpClient.Read ()
-
先。IOException:连接关闭在System.Net.Mail.SmtpClient.SendCore
-
先。IOException:连接关闭在System.Net.Mail.SmtpClient.SendInternal
-
先。IOException:连接关闭
static void Main(string[] args) { var smtp = new SmtpClient { DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, EnableSsl = true, Host = "smtp.gmail.com", //465 SSL se uso 25 solo ad utenti google mando Port = 465, Credentials = new NetworkCredential("id", "password"), }; Console.WriteLine("Mail From: "); var fromAddress = new MailAddress(Console.ReadLine()); Console.WriteLine("Mail To: "); var toAddress = new MailAddress(Console.ReadLine()); Console.WriteLine("Subject: "); string subject = Console.ReadLine(); Console.WriteLine("Body: "); string body = Console.ReadLine(); using (var message = new MailMessage(fromAddress, toAddress) { Subject = subject, Body = body }) try { smtp.Send(message); } catch(Exception ex) { Console.WriteLine("Unable to send message due to the following reason: " + ex.ToString()); } }
我怎样才能解决这些问题?
尝试端口587而不是465。端口465在技术上已弃用
摘自OP的评论:
即使我将端口设置为587,也会出现相同的错误。另外,Gmail告诉我有人试图访问我的帐户
如果是这种情况,当你使用端口587,那么你应该允许不太安全的应用程序在你的gmail设置。如果您使用的是2因素身份验证,那么您还需要添加应用程序密码并使用该密码。