2

我已经在我的 MAC 上安装了 MACOSX Lion,最新版本的 Gemtools (1.0 beta 87 ) 和最新版本的 glass workspace (1.0 beta 8.7.4)和最新版本的 GEMSTONE: 3.1.0.1。 在这个我已经加载了海边使用:

MCPlatformSupport commitOnAlmostOutOfMemoryDuring: [    
    Gofer project load: 'Seaside30' version: '3.0.7.1'.    

    Gofer new
    squeaksource: 'MetacelloRepository';
    package: 'ConfigurationOfMetacello';
    load.
    (Smalltalk at: #ConfigurationOfMetacello) perform: #load.


    Gofer new
    squeaksource: 'MetacelloRepository';
    package: 'ConfigurationOfSeasideRest';
    load.


].
ConfigurationOfSeasideRest project stableVersion load: 'Tests'

一切正常,但如果我尝试评估这件作品,系统会“挂起”:

(WAEmailMessage
     from: (WAEmailAddress address: 'xx@aa.com' username: 'fromman')
     to: (WAEmailAddress address: 'shyam1.sundaresan1@gmail.com' username: 'shyam')
     subject: 'Email Test')   
          body: 'This is a Test Email sent'; 
          send.

通过调试,我看到它挂起的地方是在SendMail >> send

send
    | rc |
    ^self isEnabled
    ifFalse: [self saveToFile]
    ifTrue: [ self halt.
        rc := self openTcpConnection.
        rc
            ifTrue: 
                [   rc ifTrue: [rc := self readSmtpResult] "==> HANGS HERE ==>"
                rc ifTrue: [rc := self sendHelo].
                rc ifTrue: [rc := self readSmtpResult].
                rc ifTrue: [rc := self sendMailFrom].
                rc ifTrue: [rc := self readSmtpResult]. 

具体来说,它不会(永远)退出以下循环whileFalse in readSmtpResult

readSmtpResult
| result firstChar |

    [self readWillNotBlockWithin: 5000]
        whileFalse: [GsFile stderr log: 'Waiting for server to write...'].

使用 Telnet,该端口连接良好

shyam:opt shyam$ telnet mailhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 shyam.homenet.telecomitalia.it ESMTP Postfix

我还检查了 smtpHost、smtpPort、ownDomainName 等......都是正确的。还注意到/var/log/mail.log中没有写任何内容

此外,同一台机器上的 PHARO 1.4 引擎 + Seaside 上的同一段代码工作正常,并且使用以下命令行,邮件通过 gmail 正确中继。

echo 'It works' | mailx -s 'Test message' shyam1.sundaresan1@gmail.com 

任何可以帮助我克服僵局的指标都将受到欢迎。

谢谢

夏姆。

4

0 回答 0