8

有关的:

通过 Google Apps 帐户通过 C# 发送电子邮件

我的问题是一样的,所以我实现了 Koistya 的解决方案如下。令人心碎的是,它在我的开发笔记本电脑上运行良好,但是当移植到 Web 服务器时,它会超时而没有任何解释。

我的 SMTP 配置在我的web.config文件中。我根据 Koistya 的回答制作了模组:

<mailSettings>
    **Changed**
      <smtp from="my@email.com">
        <network host="smtp.gmail.com" password="[password]" port="587" 
          userName="my@email.com"/>
      </smtp>
    **Original**
      <!--<smtp from="my@email.com">
        <network host="mail.domain.com" password="[password]" port="25"
          userName="my@email.com"/>
      </smtp>-->
</mailSettings>

我的 .Net C# 代码(删除前后):

  SmtpClient mSmtpClient = new SmtpClient();
  mSmtpClient.EnableSsl = true;
  mSmtpClient.Send(message);

正如我所说,这在我的开发环境中效果很好,但在网络上却不行。任何人都可以帮忙吗?谢谢。

4

6 回答 6

2

你的设置是正确的。我们一直使用 gmail 在我们的网络应用程序中发送邮件。您的服务器可能阻止了端口 587 上的传出流量。我会联系您的主机,看看他们是否可以提供帮助,否则您将需要新邮件或新主机。

于 2009-06-24T20:39:02.233 回答
1

感谢这个网站以及谷歌应用程序论坛上的每个人的帮助(虽然我更喜欢这个),我终于把所有的拼图拼凑在一起。无论出于何种原因,端口 465 和端口 587 都不起作用。这对我有用:

网络配置:

  <smtp from="pwretrieve@mydomain.com">
    <network host="smtp.gmail.com" password="[password]" port="25" 
      userName="pwretrieve@mydomain.com"/>
  </smtp>

从 aspx.cs 文件:

SmtpClient mSmtpClient = new SmtpClient();
mSmtpClient.EnableSsl = true;

再次感谢!

于 2009-06-26T11:37:24.377 回答
1

我的表格也有同样的问题。我的网站在 Plesk 控制面板上运行。我所做的只是登录我的面板并禁用我的网络服务器上的电子邮件托管。之后,我的表单开始发送到 Google 应用帐户。试试我所做的,我相信你会有所作为。

于 2010-04-16T19:58:48.953 回答
0

如果您的托管公司没有响应,并且如果您有另一台服务器可以发送测试请求,请尝试请求连接到其他端口,看看会发生什么。

于 2009-06-25T01:10:02.310 回答
-1

如果您的虚拟主机不允许您从他们的服务器发送传出 SMTP 邮件,则会导致此问题。例如,GoDaddy 仅允许您通过 smtpout.secureserver.net 从您的服务器发送外发邮件,因此任何通过另一台主机(在本例中为 smtp.gmail.com)发送邮件的尝试都会失败。如果您的 ISP 不阻止传出 SMTP(例如,Qwest 不阻止),那么这就是本地工作的原因。

与您的虚拟主机一起查看常见问题解答,看看他们对此有何看法。大多数托管公司确实允许传出 SMTP,但将其限制为每天一定数量的中继,以防止意外利用垃圾邮件转发。

您是正确的,您域上的 MX 记录仅影响传入的邮件。当有人试图向 you@yourdomain.com 发送邮件时,他们会将其交给 SMTP 服务器(很可能是他们的 ISP 提供给他们的服务器),然后 SMTP 服务器会查找您的 MX 记录以查看谁处理了您的电子邮件。它将解析为 smtp.gmail.com,所以谁会收到您的邮件,而您会从他们那里得到邮件。当您发送外发邮件时,它可以通过任何人,因为您只关心目标域的 MX 记录(邮件最终将在此结束)。

那有意义吗?如果您想澄清一下,我可以找到一些教程和其他解释来帮助理解它。

于 2009-06-24T16:48:22.567 回答
-1

可能是 smtp 客户端无法访问 smtp 服务器(可能被 Web 主机禁用)。

询问网络主机是否有您应该用来发送电子邮件的特定 smtp 服务器。

于 2009-06-24T15:42:21.710 回答