在端口25上收到邮件时是否可以实现SSL连接

维克多·阿纳斯塔索夫(Viktor Anastasov)

我有一个TIdSMTPServer运行在端口25和465上的OnConnect事件,它看起来像这样:

procedure TMainForm.SMTPServerConnect(AContext: TIdContext);
begin
  if (AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase) then begin
    TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough := False;
end;

在激活SMTPServer这段代码之前,先执行:

with IdServerIOHandlerSSLOpenSSL1 do begin
  SSLOptions.CertFile := myCertFile;
  SSLOptions.RootCertFile := myRootCertFile;
  SSLOptions.KeyFile := myKeyFile;
end;
SMTPServer.IOHandler := IdServerIOHandlerSSLOpenSSL1;

当客户端尝试连接到端口465(使用implicit SSL时,一切都很好但是,当另一个smtp服务器(例如yahoogmail)发送邮件时,它进入端口25,并且在我的OnConnect事件中被明显阻止因此,我问是否可以发出类似的内容STARTTLS并使用SSL以某种方式对端口25上的连接进行加密,或者是否有办法告诉另一端我想在465端口上使用SSL进行通信(在两种情况下都使用我的证书,连接始终是直接的-没有用户名/密码验证)?

雷米·勒博

在Indy 10中,PassThrough默认情况下为True。在设置PassThrough为False之前您需要查看客户端实际连接的端口号,例如:

procedure TMainForm.SMTPServerConnect(AContext: TIdContext);
begin
  if (AContext.Connection.IOHandler is TIdSSLIOHandlerSocketBase) then
  begin
    if AContext.Binding.Port = 465 then begin
      TIdSSLIOHandlerSocketBase(AContext.Connection.IOHandler).PassThrough := False;
    end;
  end;
end;

TIdHTTPServer有一个OnQuerySSLPort为您处理此详细信息事件。该功能尚未移植到其他Indy服务器组件,您必须手动进行。

您正在充当服务器客户自行决定是否发起的SSL / TLS会话与否,你不能这样做,从服务器端。如果客户端要在端口25上使用SSL / TLS,它将通过EHLO命令查询服务器的功能,然后STARTTLS如果服务器STARTTLSEHLO答复中报告则将命令发送到服务器TIdSMTPServer为您处理所有这些操作,您唯一要做的就是为服务器分配一个SSLIOHandler并将TIdSMTPServer.UseTLS属性设置为utUseRequireTLSutUseExplicitTLS

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在端口25上收到邮件时是否可以实现SSL连接

来自分类Dev

实施电子邮件CodeIgniter库时无法连接到ssl://smtp.googlemail.com:25

来自分类Dev

是否有一个iptables规则仅允许在端口25上发送电子邮件?

来自分类Dev

是否可以连接到TCP端口0?

来自分类Dev

是否可以在没有ssl的情况下在NGINX端口443上运行HTTP / 2?

来自分类Dev

ssis smtp邮件任务/连接,如果端口号不是25,如何提及端口号

来自分类Dev

是否可以将DisplayPort显示器连接到Mac上的Thunderbolt端口,反之亦然?

来自分类Dev

在 Ubuntu 上的 VirtualBox 上运行 docker 时是否可以避免端口转发?

来自分类Dev

无法在SSL端口63149上连接到Lotus Notes DIIOP

来自分类Dev

Postfix可以发送但不能接收邮件,25端口被过滤了

来自分类Dev

是否可以收到有关阻止连接尝试的通知?

来自分类Dev

是否可以知道RS232端口的连接状态?

来自分类Dev

如何在 Exim 邮件服务器中拒绝端口 25 上的身份验证

来自分类Dev

是否可以从Ubuntu上打开USB集线器上的端口?

来自分类Dev

是否可以从Ubuntu上打开USB集线器上的端口?

来自分类Dev

Localhost在端口1111上连接到self。病毒还是可以?

来自分类Dev

端口25上的SMTP通信

来自分类Dev

使用OAuth连接到Linkedin时,是否可以获取用户的非主要电子邮件地址?

来自分类Dev

在没有Internet连接的情况下使用SMTP发送时,是否可以发送我的电子邮件?

来自分类Dev

如何在没有SSL的情况下通过PHPMAILER发送电子邮件-端口25?

来自分类Dev

在layer.visible设置为false时,是否可以在层上放置端口以使其不可见?

来自分类Dev

在检查服务器上的端口时获取连接超时

来自分类Dev

无法连接到Google Compute实例上的端口25(传入SMTP)

来自分类Dev

使用“ fig run”时,是否可以从容器“发布”端口?

来自分类Dev

使用ssh -L时是否可以监听2个端口

来自分类Dev

有没有一种方法可以验证是否仅使用SSL连接来传递电子邮件?

来自分类Dev

无法在端口8080上连接到Tomcat(端口80可以工作)

来自分类Dev

如果ssh密钥未连接到正确的端口,是否可以将其配置为拒绝连接?

来自分类Dev

邮件服务 GAE 问题 - 发送邮件异常“javax.mail.MessagingException:无法连接到 SMTP 主机:本地主机,端口:25;”

Related 相关文章

  1. 1

    在端口25上收到邮件时是否可以实现SSL连接

  2. 2

    实施电子邮件CodeIgniter库时无法连接到ssl://smtp.googlemail.com:25

  3. 3

    是否有一个iptables规则仅允许在端口25上发送电子邮件?

  4. 4

    是否可以连接到TCP端口0?

  5. 5

    是否可以在没有ssl的情况下在NGINX端口443上运行HTTP / 2?

  6. 6

    ssis smtp邮件任务/连接,如果端口号不是25,如何提及端口号

  7. 7

    是否可以将DisplayPort显示器连接到Mac上的Thunderbolt端口,反之亦然?

  8. 8

    在 Ubuntu 上的 VirtualBox 上运行 docker 时是否可以避免端口转发?

  9. 9

    无法在SSL端口63149上连接到Lotus Notes DIIOP

  10. 10

    Postfix可以发送但不能接收邮件,25端口被过滤了

  11. 11

    是否可以收到有关阻止连接尝试的通知?

  12. 12

    是否可以知道RS232端口的连接状态?

  13. 13

    如何在 Exim 邮件服务器中拒绝端口 25 上的身份验证

  14. 14

    是否可以从Ubuntu上打开USB集线器上的端口?

  15. 15

    是否可以从Ubuntu上打开USB集线器上的端口?

  16. 16

    Localhost在端口1111上连接到self。病毒还是可以?

  17. 17

    端口25上的SMTP通信

  18. 18

    使用OAuth连接到Linkedin时,是否可以获取用户的非主要电子邮件地址?

  19. 19

    在没有Internet连接的情况下使用SMTP发送时,是否可以发送我的电子邮件?

  20. 20

    如何在没有SSL的情况下通过PHPMAILER发送电子邮件-端口25?

  21. 21

    在layer.visible设置为false时,是否可以在层上放置端口以使其不可见?

  22. 22

    在检查服务器上的端口时获取连接超时

  23. 23

    无法连接到Google Compute实例上的端口25(传入SMTP)

  24. 24

    使用“ fig run”时,是否可以从容器“发布”端口?

  25. 25

    使用ssh -L时是否可以监听2个端口

  26. 26

    有没有一种方法可以验证是否仅使用SSL连接来传递电子邮件?

  27. 27

    无法在端口8080上连接到Tomcat(端口80可以工作)

  28. 28

    如果ssh密钥未连接到正确的端口,是否可以将其配置为拒绝连接?

  29. 29

    邮件服务 GAE 问题 - 发送邮件异常“javax.mail.MessagingException:无法连接到 SMTP 主机:本地主机,端口:25;”

热门标签

归档