语法错误,命令无法识别。服务器响应是''

时间:2015-07-31 16:25:28

标签: c# email

到目前为止,我已经查看了3到4个问题,但他们还没有帮助。

我已在客户端的计算机上设置了SmarterMail 14.x.我对设置邮件服务器知之甚少(我不知道他为什么认为我这么做)但我安装了它,一个域设置指向MX记录,端口打开(9998)我可以发送电子邮件从网络界面就可以了。

但是,我无法从Sql或C#发送电子邮件。我创建了一个快速而又脏的应用程序,允许我输入服务器,端口,凭据和/或来自每次都得到此响应:

  

[内部例外]   无法连接到远程服务器

     

[详细]   System.Net.Mail.SmtpException:发送邮件失败。 ---> > System.Net.WebException:无法连接到远程服务器---> > System.Net.Sockets.SocketException:无法建立连接,因为>目标机器积极拒绝它204.12.49.188:25

我尝试了多次登录。我还确认已启用SMTP并且IMAP / POP3已关闭。我发布了它的图像,但不幸的是我还不能。

要发送的代码在下面,它就像它得到的一样简单:

SmtpClient client = new SmtpClient(ServerTextBox.Text, Convert.ToInt32(PortTextBox.Text));
NetworkCredential login = new NetworkCredential(UsernameTextBox.Text, PasswordTextBox.Text);
client.Credentials = login;

MailMessage message = new MailMessage(FromTextBox.Text, ToTextBox.Text, "Wine and Spirits Jobs Alerts", "Below are this week's job alerts: There are no job alerts at this time");

client.SendCompleted += HandleSendCompleted;
client.SendAsync(message, null);

我也在他们的VPS和我的机器上本地尝试过。我已打开和关闭防火墙,我有一个特定的规则允许9998上的传出流量(并且您可以远程登录Web界面)所以这不是能够联系它的问题。

我不知道该怎么办。如果有人可以帮忙??

编辑:很明显我使用的是错误的端口 - 9998而不是25使用端口25现在告诉我要么超时还是被主动拒绝。防火墙确实有端口25的特定规则允许所有流量,因此不应该停止。

编辑2:我在域上重新创建了MX记录,并确保它指向正确的IP地址。我还在Smartermail中重新创建了域,并确保SMTP已打开,需要身份验证,SSL未关闭,POP和IMAP已关闭,以及我的登录是否正确。我也试过打开和关闭防火墙。没有骰子。

2 个答案:

答案 0 :(得分:2)

我终于解决了这个问题。

它与防火墙或MX记录或使用/不使用IP地址无关,而且与端口25确实已分配给SMTP且SMTP确实已打开的事实有关,该IP地址与域本身未分配给SMTP配置,因此SmarterMail实际上并未监视端口。

问题解决了 - 电子邮件发送。好玩的东西!谢谢大家的回复!

答案 1 :(得分:0)

尝试在邮件发送代码中设置SMTP邮件服务器IP地址。

SmtpMail.SmtpServer =“您的邮件服务器名称或IP地址在这里”;

SmtpMail.Send(消息);

您可以在全局级别或任何初始化代码中设置此属性。

参考:https://msdn.microsoft.com/en-us/library/system.web.mail.smtpmail%28v=vs.110%29.aspx