【问题标题】:How To Detect Email Size Issues In .NET如何在 .NET 中检测电子邮件大小问题
【发布时间】:2011-10-03 03:26:16
【问题描述】:

我们有一个应用程序可以自动向我们的用户发送电子邮件通知。

这些电子邮件来自无回复地址,例如“no-reply@blah.com”。

当添加到自动电子邮件的附件超出接收方电子邮件服务器的限制时,问题就出现了,例如8 MB 或 10 MB。

.NET 中有没有办法检测到这种情况会发生?如果回复到 no-reply 说由于超出限制而失败,那是不理想的,因为从未检查过该地址。

有没有办法在发送电子邮件之前检测这是否会出现问题?

我想主要问题是可以配置电子邮件大小限制,所以我们不知道对于特定组织会有什么限制。

【问题讨论】:

  • 您想在向服务器发送电子邮件之前查询服务器的限制?我不认为这是可能的。您可能会遇到的部分问题是,某些邮件服务器即使不打算投递也会响应正常。例如,我的工作交换服务器只会吞下任何超过 10MB 的电子邮件,但会返回 OK。
  • 仅供参考,您问的是“C# .NET”。我是否正确假设您知道答案并不特定于所使用的编程语言,并且您只是想要 C# 中的示例,因为那是您正在使用的语言?
  • 嗯,是的,如果有答案,我猜它与 SMTP 有关,所以如果它是关于 SMTP 或 C# 的解释,那很好。我正在使用 C#,所以如果有任何结果,我将不得不在 C# 中实现它。
  • 布莱克,这与我的想法一致。也许还有另一种解决方案,我真的不知道。接受任何建议。
  • 您经常从不回复地址发送 10mb 的电子邮件?这听起来不太好电子邮件礼仪..

标签: c# .net email


【解决方案1】:

只是一个想法,为什么不插入 链接 到附件/文件呢?我已经多次这样做了,是的,如果要附加的文件是个人的,请附加它,否则只需将附件放在网络服务器上并链接到它。

这肯定会加快邮件传递速度,并减少退回邮件。

希望这会有所帮助!

【讨论】:

  • 是的,这是一个很好的答案。我们已经考虑过这一点,但这个想法存在安全问题。但也许我们应该对此进行更多调查......
  • 我已将此标记为答案,因为如果我们更多地调查这种可能性并用它解决安全问题,那么我认为这可以解决。或者系统有时会丢失电子邮件,我的产品经理将不得不接受客户打电话给他并抱怨:)
  • 很高兴听到!作为一项安全措施,我在一个系统中创建了一个简单的票务系统;系统生成“票证”的位置 - 例如创建一个带有 memberid + "A" + SHA1( passwordhash+passwordsalt+DateTime.Now.Date 的字符串 - 并将其作为参数嵌入到任何电子邮件链接中。单击时,服务器可以通过解析 memberid 来验证成员身份(人类可读) ,然后通过重新生成最多 3 天前的部分来比较票证的 SHA1 部分。这样,您的链接有效期为 3 天,我认为很难猜到 :)
猜你喜欢
  • 2018-01-16
  • 2011-12-06
  • 2013-01-28
  • 2021-04-20
  • 1970-01-01
  • 2020-06-14
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多