使用cl-smtp时出现SBCL错误



这是一个最近的错误,我找不到任何文档。它可能不是cl-smtp特有的,但每次我试图计算

时都会发生这种情况。
 (cl-smtp:send-email "localhost" "source@email.com" "test@email.com" "TEST" "Testing email from Common Lisp")

从REPL。错误输出为

debugger invoked on a SB-INT:SIMPLE-PROGRAM-ERROR in thread #<THREAD
                                                              "initial thread" RUNNING
                                                              {AAE38D1}>:
  invalid keyword argument: :SERVE-EVENTS (valid keys are :AUTO-CLOSE, :INPUT,
  :OUTPUT, :ELEMENT-TYPE, :EXTERNAL-FORMAT, :BUFFERING, :TIMEOUT).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.
(SB-PCL::CHECK-APPLICABLE-KEYWORDS
 0
 (:AUTO-CLOSE :INPUT :OUTPUT :ELEMENT-TYPE :EXTERNAL-FORMAT :BUFFERING
  :TIMEOUT)
 -303677905
 10)
0] 0

我运行的是带有后缀的Debian 6和SBCL 1.0.40, cl-smtp通过quicklisp安装。通过telnet接口发送具有相同源、服务器、目标、主题和主体的电子邮件(无论是来自相同的unix用户还是具有root权限)都可以正常工作。这种设置在运行相同软件堆栈的其他机器上也可以很好地工作(即使是从REPL)。

有人能看出我做错了什么吗?

这个特定的错误不是来自cl-smtp。杂谷歌表明,这是一个内部API模仿。查看可用的标志,似乎这是一个套接字错误(输入、输出、缓冲、超时)。

SBCL 40几乎有一年的历史,SBCL 51刚刚从印刷机上下来…我建议升级!

最新更新