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();
        }

c# SMTP发送问题

必须使用邮件提供程序指定的备用端口。我相信实时邮件使用端口587。试试吧

转到电子邮件提供商的网站,找出备用smtp端口。他们都有一个或十个。这是最有可能的罪魁祸首。

不能随意更改端口为2525smtp.live.com可以连接到port 25上(除非有其他文档),因此只能使用port 25。您可以使用telnet进行验证,如下所示

telnet smtp.live.com 25

检查你朋友电脑上的防火墙,他们可能会阻止外出的port 25。还要检查您是否能够通过输入上述命令在这些计算机上telnet。