我目前正在开发一个应用程序,从服务器下载文件,将其附加到电子邮件并将其发送到输入的 gmail 地址。我第一次尝试时,效果很好。当我第二次尝试时,开始挂起,此后一直没有用。
这是我的代码:
SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
MailMessage mail = new MailMessage();
mail.From = new MailAddress(fran);
mail.To.Add(till);
mail.Subject = amne;
mail.Body = text;
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment("file.txt");
mail.Attachments.Add(attachment);
SmtpServer.Port = 465;
SmtpServer.Timeout = 30000;
SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential(user, pw);
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
SmtpServer.Dispose();
mail.Dispose();
我试过端口 587、465 和 25,并在 Windows 防火墙中打开它们。我试过禁用 Avast! AntiVirus,以管理员身份运行并重新启动我的计算机。只运行一次让我觉得它是某种缓存问题,但是什么?
我感谢所有提示和建议,开火吧!
提前致谢, 弗雷德里克
最佳答案
您的代码有效,问题是您使用了错误的端口。您必须使用端口 587
关于C# - SMTP Gmail 在发送时挂起。第一次工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570285/