GEMSTONE зависает при выполнении WAEmailMessage в readSmtpResult

Я установил на свой MAC с MACOSX Lion последнюю версию Gemtools (1.0 beta 87) с последней версией рабочего пространства Glass (1.0 beta 8.7.4) и последней версией GEMSTONE: 3.1.0.1. На этом я загрузил Seaside используя:

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 в 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 

Будем с благодарностью приветствовать любые индикаторы, которые помогут мне преодолеть тупик.

Спасибо

Shyam.

0 ответов

Другие вопросы по тегам