【问题标题】:send email through proxy .net [duplicate]通过代理 .net 发送电子邮件 [重复]
【发布时间】:2016-12-13 14:27:27
【问题描述】:

我需要从公司的 SMTP 服务器发送一封电子邮件,但我需要通过代理(因为除非我通过代理,否则我无法连接到互联网,电子邮件服务器可以发送到外界,但我我正在尝试通过我拥有的电子邮件服务器从应用程序服务器发送一封电子邮件,但我正在使用的应用程序服务器只能通过代理访问外部世界),下面是我的代码:

    Imports System.Net.Mail
    Imports System.Net

    Dim mm As New System.Net.Mail.SmtpClient
    mm.EnableSsl = True
    mm.Host = "mail.company.net"
    mm.Credentials = New NetworkCredential("user", "pass") 
    Dim w As New MailMessage()
    w = New MailMessage()
    w.Subject = "test"
    Dim mailAddress As New System.Net.Mail.MailAddress("support@company.net", "Support")
    w.From = mailAddress
    Dim Em As New MailAddress("em@company.net")
    w.To.Add(em)
    w.IsBodyHtml = True
    w.Body = sbody
    mm.Send(w)

请你帮忙。

【问题讨论】:

  • 到底是什么问题?另外,您不需要w = New MailMessage(),因为您已经在上一行声明了New。在这里快速搜索产生了this,这可能会有所帮助。
  • @sloth 我已经看到了这个问题,我尝试了解决方案,但它不起作用

标签: .net vb.net email proxy smtpclient


【解决方案1】:

我认为代理与您的问题无关。如果您的电子邮件服务器可以向外界发送电子邮件,那么设置电子邮件服务器的人已经解决了这部分问题。毕竟您的应用程序没有通过电子邮件服务器的代理。所以问题是你的应用程序没有让电子邮件服务器相信它足够受信任,可以向外界发送电子邮件。这是公司电子邮件服务器的常见配置。如果服务器认为您的应用程序不是受信任的用户,它会将电子邮件发送到内部地址,而不是外部地址。

【讨论】:

  • 不,您不明白,电子邮件服务器可以发送到外界,但我试图通过我拥有的电子邮件服务器从应用程序服务器发送电子邮件,但是应用程序服务器我使用的只能通过代理访问外界。
  • 我不确定你在说什么。您是说 A)您正尝试通过单独的工作公司电子邮件服务器从您的应用程序服务器发送电子邮件,还是 B)您在尝试配置以通过代理服务器的应用程序服务器上有自己的电子邮件服务器?如果 A)那么您的问题很可能是通过电子邮件服务器进行身份验证,如果 B)那么您的问题是配置您的私人电子邮件服务器以通过代理。
  • 当您发送电子邮件时,没有数据包直接从应用服务器通过代理发送到外部世界。它们转到电子邮件服务器,电子邮件服务器通过代理将它们发送出去。
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 1970-01-01
  • 2018-01-09
  • 2012-03-22
  • 2011-02-08
相关资源
最近更新 更多