正在尝试用C#发送smtp电子邮件.没有错误,但没有收到.PHP有效

本文关键字:有错误 有效 PHP 电子邮件 smtp 发送 | 更新日期: 2023-09-27 18:22:05

我有一个运行IIS和PHP的服务器。我有很多发送电子邮件的网页,有些给我,有些给用户。这一切都很好。我使用康卡斯特商务舱帐户,这意味着我可以使用smtp.Comcast.net作为smtp服务器,使用端口25,而不使用任何类型的身份验证,这很好。而且效果很好。

现在快进到今天。我正在编写一些自定义的C#代码来监控文件夹结构,如果它与某些参数匹配,基本上会通过电子邮件向我发送新文件。在我的C#代码中,我尝试使用相同的设置,但它不起作用。SmtpClient.Send()函数不会抛出Exception,我的代码完成了例程,就好像一切都很顺利。但后来我等了又等,再也没有收到电子邮件。

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() : ""));

"mail"对象的类型为MailMessage,设置有"收件人"、"发件人"、"主题"、"正文"answers"抄送"。此外,还具有HTML和纯文本可选视图。

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

我提到PHP的唯一原因是,我知道我的防火墙没有阻塞端口25,我知道ISP打开了它,我知道有合适的服务器,我知道应该工作。

正在尝试用C#发送smtp电子邮件.没有错误,但没有收到.PHP有效

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

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

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

在我开始测试大约5个小时后,我立刻收到了所有的测试电子邮件,包括嵌入的HTML和其他一切。因此,它正在发挥应有的作用。我想,由于签名略有不同,他们会屏蔽它们,直到它们被视为非垃圾邮件。现在,当我发送电子邮件时,它会立即通过。

所以康卡斯特有某种延时滤波器,显然是为未来任何有这个问题的人准备的。

我最终向添加了邮件

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

它成功了!