我已经使用MACOSX Lion在我的MAC上安装了最新版本的Gemtools (1.0 beta 87 ),最新版本的玻璃工作区(1.0 beta 8.7.4)和最新版本的GEMSTONE: 3.1.0.1。 在这方面我使用了
加载了SeasideMCPlatformSupport 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
| 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].
具体而言,它不会从 readSmtpResult 中的以下循环 whileFalse 退出(永远):
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
欢迎任何帮助我克服僵局的指标。
由于
希亚姆。