首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在seaside+Gemstone中发送邮件“消息: NotUnderstood发生了(错误2010),UndefinedObject不理解#'isEmpty‘”

在seaside+Gemstone中发送邮件“消息: NotUnderstood发生了(错误2010),UndefinedObject不理解#'isEmpty‘”
EN

Stack Overflow用户
提问于 2013-03-04 20:15:24
回答 1查看 294关注 0票数 2

之前尝试过一个类似的问题,但我没能取得进展。所以我做了新的测试,这是一个新的问题:

我在同一台机器上安装了崭新的法老1.4和宝石3.0.1.2。(Linux CENTOS)使用最新版本的Gemtools (1.0 beta 87)和最新版本的玻璃工作区(1.0 beta 8.7.4),分别在Pharo和Gemstone中加载seaside 3.0和Gemstone的3.0.7.1

我打开了工作区并进行了评估:

代码语言:javascript
复制
(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/ host 文件127.0.0.1 localhost mailhost中添加了以下一行)。

在法老上,消息被正确地发送和接收,而在宝石中,我得到了a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'isEmpty',在方法中

代码语言:javascript
复制
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上也尝试了类似的结果,而在上面的代码行中,它变成了一个循环。

使用tcpdump -X -i lo tcp port 25和WireShark,,我注意到对于宝石,我没有看到任何活动,而包被正确地交换给were。

显然,我在两个不同的系统上做了一些非常错误的事情。

知道吗?

谢谢

夏安。

EN

回答 1

Stack Overflow用户

发布于 2013-03-05 12:42:35

resultnil,因为#readString:返回了nil

似乎对等方不发送任何数据。由于您已经跟踪到端口25上没有活动,确定SMTP参数是正确的吗?

海滨-电子邮件包含可用于配置SMTP-Server的代码。如果您拥有your应用程序seasideApp,则可以执行以下操作:

代码语言:javascript
复制
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.

注意,#smtpServersmtpPort必须按照描述的方式配置,因为它们在GemStone版本的GRPlatform>>#seasideDeliverEmailMessage:中使用。我选择了故意不使用GemStone默认值。

另外,以这种方式设置SMTP参数可以跨平台工作;如果没有,请直接与我联系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15210291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档