0

我有一台运行 IIS 和 PHP 的服务器。我有许多发送电子邮件的网页,有些是给我的,有些是给用户的。这一切都很好。我使用的是 Comcast Business Class 帐户,这意味着我可以使用 smtp.comcast.net 作为我的 SMTP 服务器,使用端口 25,并且不使用任何类型的身份验证,这非常棒。它工作得很好。

现在快进到今天。我正在编写一些自定义 C# 代码来监视文件夹结构,如果新文件与某些参数匹配,则基本上将新文件通过电子邮件发送给我。在我的 C# 代码中,我尝试使用相同的设置,但它不起作用。SmtpClient.Send() 函数不会引发异常,并且我的代码完成了例程,就好像一切都很愉快并且正常工作一样。但后来我等啊等啊等,我从来没有收到过电子邮件。

SmtpClient smtp = new SmtpClient("smtp.comcast.net"); 
smtp.Port = 25;
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.Timeout = 2500;
smtp.Send(mail);
onStatusUpdate("Successfully sent email to " + mail.To + (mail.CC.Count > 0 ? " and CC'd " + mail.CC.ToString() : ""));

“邮件”对象的类型为 MailMessage,并设置有收件人、发件人、主题、正文和抄送。还具有 HTML 和纯文本替代视图。

我想最简单的问题是,是否有一个技巧可以在 C# 中以老式的 port-25 方式发送电子邮件,而 PHP 中不存在这种技巧?

我提到 PHP 的唯一原因是因为我知道我的防火墙没有阻止端口 25,我知道我的 ISP 已经打开它,我知道我有正确的服务器,我知道它应该可以工作。

4

4 回答 4

0

在我开始测试大约 5 小时后,我立即收到了所有测试电子邮件,包括嵌入的 HTML 和其他所有内容。所以它正在正常工作。我猜由于签名略有不同,他们会阻止它们,直到它们被视为非垃圾邮件。现在看来,当我发送电子邮件时,它会立即通过。

因此,康卡斯特显然为将来遇到此问题的任何其他人提供了某种时间延迟过滤器。

于 2013-07-11T22:44:01.753 回答
0

首先要查看用于发送此消息的外发邮件服务器的邮件服务器日志。这些应该告诉您邮件服务器是否甚至从您的 C# 程序接收消息以进行排队,如果是 - 当它尝试将消息传递到远程 MTA 时会发生什么。

于 2013-07-11T20:15:22.127 回答
0

我不知道这是否会影响他们的商务舱账户,但康卡斯特最近(<2 个月前)关闭了他们所有电子邮件账户的 25 端口。尝试使用端口 587

http://customer.comcast.com/help-and-support/internet/email-client-programs-with-xfinity-email/

于 2013-07-11T19:53:00.103 回答
0

我最终将邮件添加到(列表),

并为我单独发送邮件的每封邮件发送 foreach,

它奏效了!

于 2019-11-11T09:06:30.773 回答