c# SMTP发送问题
本文关键字:问题 SMTP | 更新日期: 2023-09-27 18:06:22
我有问题通过电子邮件发送附件使用smtp客户端。它在我的电脑和朋友的电脑上发送很棒。但是另外两台朋友的电脑在发送文件时出现了问题。我认为问题是端口,因为我在其他地方读到一些ISP的块端口25,所以我将端口更改为2525,尽管这并不能解决我的问题。它们得到相同的错误——发送消息错误。
代码如下-
MailMessage message = new MailMessage();
try
{
SmtpClient client = new SmtpClient("smtp.live.com", 2525);
client.EnableSsl = true;
client.Credentials = new NetworkCredential("accoutn@account.com", "abc123");
MailAddress senderAddress = new MailAddress("DoNotReply@live.com");
Attachment attach = new Attachment(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + "''" + doc.getFirstName() + doc.getSurname() + ".doc");
message.From = senderAddress;
message.Subject = "Physio Information";
message.Attachments.Add(attach);
message.To.Add("sendmessageto@something.com");
message.Body = "Physio Report of " + doc.getFirstName() + " " + doc.getSurname();
client.Send(message);
MessageBox.Show("Information Processed");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
failMail = true;
}
finally
{
message.Dispose();
}
必须使用邮件提供程序指定的备用端口。我相信实时邮件使用端口587。试试吧
转到电子邮件提供商的网站,找出备用smtp端口。他们都有一个或十个。这是最有可能的罪魁祸首。
不能随意更改端口为2525
。smtp.live.com
可以连接到port 25
上(除非有其他文档),因此只能使用port 25
。您可以使用telnet进行验证,如下所示
telnet smtp.live.com 25
检查你朋友电脑上的防火墙,他们可能会阻止外出的port 25
。还要检查您是否能够通过输入上述命令在这些计算机上telnet。