我有一台运行 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 已经打开它,我知道我有正确的服务器,我知道它应该可以工作。