如何通过关闭的SMTP端口从安全网络发送电子邮件

本文关键字:安全网 安全 网络 电子邮件 何通过 SMTP | 更新日期: 2023-09-27 18:25:51

我试图使用SMTP服务器从桌面应用程序发送电子邮件,但我的网络是安全的,端口是关闭的。

那么,有没有其他方法可以像使用Gmail api一样发送电子邮件?!

我使用此代码,但不适用于

  public void Send_Mail(string HTMLBody, string MailTo)
  {
      MailMessage Mail = new MailMessage();
      SmtpClient SmtpClient = new SmtpClient();
      string MailSubject = "Subject;
      string MailFrom = "from@xxxx.com";

      Mail.Subject = MailSubject;
      Mail.Body = HTMLBody;
      Mail.To.Add(MailTo);
      MailAddress From = new MailAddress(MailFrom);
      Mail.From = From;
      Mail.IsBodyHtml = true;
      SmtpClient.Host = "host";
      SmtpClient.Port = port;
      SmtpClient.EnableSsl = true;
      SmtpClient.Send(Mail);            
}

如何通过关闭的SMTP端口从安全网络发送电子邮件

如果你的网络不允许到gmail使用的任何端口的出站连接(或限制特定协议或IP等),那么你就无能为力了。你必须与"网络人员"谈谈,要么为你删除这个限制,要么更好的是,让他们提供本地smtp服务器供你使用。

我曾在一个遇到类似问题的地方工作过。台式机不允许发送电子邮件,但可以允许服务器与SMTP服务器进行通信。

我们最终所做的是编写一个windows服务,该服务侦听放置在队列中的消息(在我们的案例中是Tibco EMS,但MSMQ也可以)。该服务从队列中获取邮件并将其传递到SMTP服务器上。该服务器被允许使用。

它为系统增加了一个额外的步骤和流程,但足以让合规部门满意。

通常情况下,"安全网络"意味着有一个防火墙来限制流量,并且只允许在某些端口上进行通信,如端口80和8080。

这样的网络(工作场所、共享办公空间、学校等)通常有一个可以使用的传出SMTP服务器。或者,您需要使用可以通过实际打开的端口联系的服务器,或者通过第三方中继/隧道传输请求。