在 Delphi 2006 上使用 IdSMTPServer 拒绝超过一定大小的 SMTP 消息
我使用 Delphi 2006 和 TIdSMTPServer 组件(版本 10.1.5)来设置 SMTP 服务器。这工作正常,但我不想接受超过一定大小的消息。
有没有办法在服务器接收并拒绝传入消息之前询问传入消息的大小?
I'm using Delphi 2006 and the TIdSMTPServer component (Version 10.1.5) to set up a SMTP server. This works fine, but I don't want to accept messages that are above a certain size.
Is there a way to interogate the size of the incoming message before the server receives it and refuse it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
没有什么保证的方法。客户无需提供任何尺寸信息。
但是,RFC 1870 描述了允许这种情况发生的 SMTP 扩展。它要求服务器和客户端都支持它。
我不确定您的特定 Indy 版本,但 TIdSMTPServer 似乎确实支持与 D2010 捆绑的 Indy 版本中的扩展。查找 MaxMsgSize 属性。
There's no guaranteed way. A client is not required to supply any size info.
However, RFC 1870 describes an SMTP extension that allows this to happen. It requires that both server and client supports it.
I'm not sure about your particular version of Indy, but it seems that TIdSMTPServer does supports the extension in the Indy version that's bundled with D2010. Look for the MaxMsgSize property.