![](/img/trans.png)
[英]GemStone-Linux-Apache-Seaside-Smalltalk.. how practical is 4GB?
[英]Sending Mail in seaside+Gemstone “ a Message: NotUnderstood occurred (error 2010), a UndefinedObject does not understand #'isEmpty' ”
之前曾嘗試過類似的問題,但我無法取得進展。 所以我做了新的測試,這是新的問題:
我在同一台計算機上全新安裝了PHARO 1.4和GEMSTONE 3.0.1.2。 (Linux CENTOS)。 使用最新版本的Gemtools( 1.0 beta 87 )和最新版本的玻璃工作區( 1.0 beta 8.7.4 )在Pharo中加載了Seaside 3.0 ,在Gemstone中加載了3.0.7.1版本。
我打開工作區並評估:
(WAEmailMessage
from: (WAEmailAddress address: 'xx@aa.com' username: 'fromMe')
to: (WAEmailAddress address: 'shyam@localhost' username: 'shyam')
subject: 'Email Test')
body: 'This is a Test Email sent';
send.
(順便說一句,由於Gemstone中的默認郵件主機是“ mailhost”,所以我在/ etc / hosts文件127.0.0.1 localhost mailhost
添加了以下行)。
在Pharo上,消息已正確發送和接收,而在Gemstone中,我a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'isEmpty'
readSmtpResult
| result firstChar |
[self readWillNotBlockWithin: 5000]
whileFalse: [GsFile stderr log: 'Waiting for server to write...'].
result := self readString: 500.
result isEmpty =========================> HERE result is "nil".
ifTrue:
[self log: 'Empty result'.
^false].
原因是result
返回nil
。
我也在MAC OS X上嘗試了類似的結果,但在上面的行中陷入了循環。
使用tcpdump -X -i lo tcp port 25
和WireShark, 我注意到對於GEMSTONE,在將數據包正確交換為PHARO時, 我沒有看到任何活動 。
顯然,為了在兩個不同的系統上弄錯,我正在做非常糟糕的事情。
任何想法 ?
謝謝
希亞姆。
result
為nil
因為#readString:
返回nil
。
對方似乎沒有發送任何數據。 正如您已經跟蹤的那樣,端口25上沒有任何活動,您確定SMTP參數正確嗎?
Seaside-Email包含可用於配置SMTP服務器的代碼。 有了Seaside應用程序seasideApp
,您可以執行以下操作:
seasideApp configuration
addParent: WAEmailConfiguration instance.
seasideApp
preferenceAt: #smtpServer put: 'your.smtp.host';
preferenceAt: #smtpPort put: 25;
preferenceAt: #smtpUsername put: 'your.smtp.username.or.nil.if.unecessary';
preferenceAt: #smtpUsername put: 'your.smtp.password.or.nil.if.unecessary';
yourself.
請注意, #smtpServer
和smtpPort
必須按照所描述的方式進行配置,因為它們在GRPlatform>>#seasideDeliverEmailMessage:
的GemStone版本中使用。 我選擇故意不使用GemStone默認值。
同樣,以這種方式設置SMTP參數可以跨平台工作。 如果沒有,請直接與我聯系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.