TIdSMTPServer和TIdPOP3Server无法在UBUNTU LINUX中启动

时间:2014-04-15 15:38:08

标签: linux smtp indy pop3

我有一个带有TIdSMTPServer和TIdPOP3Server的邮件服务器,它在windows下的lazarus中工作正常,但如果我尝试在linux下启动我的程序,我会尝试:

SMTPServer.Active := True;
POP3Server.Active := True;

我收到此错误消息:“无法绑定套接字。地址和端口已在使用中。”我尝试禁用控制中心的端口25和110以及终端中的一些命令,但没有任何帮助。有人能给我一个如何解决这个问题的提示吗?

1 个答案:

答案 0 :(得分:1)

这是Indy 10版本中的一个已知问题,已于6个月前在Indy的SVN修订版5066中修复。

如果服务器激活时服务器的Bindings集合为空,则Active属性设置器会创建默认的IPv4绑定,并且如果操作系统支持,则创建默认的IPv6绑定。两个绑定都绑定到所有本地IPv4 / IPv6地址上的相同DefaultPort。将单独的IPv4 / IPv6套接字绑定到同一IP:端口适用于Windows,它可以分别管理IPv4和IPv6,但它不适用于Linux和Android(可能还有其他所有* Nix系统),这就是为什么你得到的"已经在使用"错误 - IPv6绑定失败,因为IPv4绑定已在使用IP:端口。

为避免错误,您可以:

  1. 升级到最新的SVN快照,该快照不会在Linux和Android上创建双IPv4 / IPv6默认绑定。

  2. 确保激活服务器时Bindings集合不为空。根据需要明确指定您自己的绑定。