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.