DKIM套接字问题

时间:2010-12-06 11:01:17

标签: php apache sendmail dkim

我的dkim-milter有问题。

我的maillog文件中填充了日志

Dec  5 23:59:59 NS1 dkim-filter[31424]: Sendmail DKIM Filter: Unable to bind to port inet:20209@localhost: Address already in use
Dec  5 23:59:59 NS1 dkim-filter[31424]: Sendmail DKIM Filter: Unable to create listening socket on conn inet:20209@localhost
Dec  5 23:59:59 NS1 dkim-filter[31424]: smfi_opensocket() failed

我怀疑这个问题与Dkim-filter.conf和line:

有关
Socket                  inet:20209@localhost

看起来某些东西已经在该端口上运行,所以我无法再绑定它。

如何更改此设置并使DKIM正常运行?

4 个答案:

答案 0 :(得分:1)

作为一个说明,我发现当我手动停止并重新启动dkim-milter服务时,我的日志填满了该消息。这是由于配置选项“AutoRestart”默认为“是”

启用该选项后,当使用“service dkim-milter stop”停止服务时,它会自动重启,当我的shell脚本在几秒钟后运行“service dkim-milter start”时,它会重复该过程并且无法连接到已经运行的端口。

我没有足够的经验知道最好的解决方法,但上面的问题经过测试和重复。

答案 1 :(得分:1)

在我的情况下,我运行了错误的命令。而不是运行

sudo opendkim -x /etc/opendkim.conf -p inet:8891@localhost

我在跑步:

sudo opendkim -x /etc/opendkim.conf -p init:8891@localhost

不确定这是多么常见,但确实需要一段时间才能追踪。

答案 2 :(得分:0)

端口20209已经在使用,也许是一个古老的僵尸dkim-milter?

netstat -nlp | grep 20209将帮助您了解阻止端口的最新信息

答案 3 :(得分:0)

我遇到了同样的问题,所以在朋友的帮助下我按照以下步骤操作:

  • 从日志中显示25个最近的错误(/ path / to / file):tail -n 25 /var/log/maillog
  • 收听特定端口(20209)以查看阻止它的内容:netstat -nlp | grep 20209
  • 检查服务的状态(本例中为dkim-milter):service dkim-milter status
  • 在名称中显示所有带有“过滤器”的过程,因为dkim-milter是 以dkim-filter身份运行:ps ax | grep filter
  • 使用pid f.e.杀死进程32731:kill 32731

现在产生错误的过程没有运行。

这是如何重新启动到dkim-milter和postfix:

service dkim-milter stop
service dkim-milter start
service postfix restart

现在一切似乎都运转正常