2

我正在尝试通过 web.config 编辑连接到亚马逊服务器以发送电子邮件

  <system.net>
   <mailSettings>
    <smtp deliveryMethod="Network">
     <network enableSsl="true" port="587" host="email-smtp.us-east-1.amazonaws.com" password="actual password" userName="actual username"/>
    </smtp>
   </mailSettings>
  </system.net>

这些设置的设置如下所示: 在此处输入图像描述

我在代码中所做的就是

SmtpClient client = new SmtpClient();
client.SendCompleted += SendCompletedCallback;
string userState = _id.ToString();
client.SendAsync(msg, userState);

但我回来的错误总是

连接尝试失败,因为连接的一方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应 184.73.222.29:587

在我使用内部邮件服务器之前,但由于这将被推送到亚马逊云,我将无法访问本地服务器。在本地服务器的情况下,我所要做的就是指定主机的 IP 地址,它运行得很好。

4

1 回答 1

0

手头有三个问题:

1:发送邮件的电子邮件地址没有经过亚马逊验证,收件人也没有验证(仅在沙盒模式下需要验证收件人)

2:我使用的输出端口587被我公司封锁,这似乎是常见的做法

3:只有在aspx“header”中指定页面使用async时才能使用async

于 2013-09-06T19:57:58.680 回答