2011-08-13 23 views
3

今天我需要在我的OPA应用程序中发送电子邮件。然后,我试图使用有关邮件的opa函数。我正在使用模块:stdlib.web.mail。 而且OPA版本:OPA中的邮件功能

Opa compiler (c) MLstate -- version S3.5 -- build 320 

然后,功能Email.try_send这是一个阻塞函数和这个函数阻止客户端很久很久......(我从来没有见过这个功能终止....)

然后我试图使用功能Email.try_send_async,着有“回调函数”是这样的:

(a-> jlog(Email.string_of_send_status(a))) 

我从来没有在控制台或客户端的任何错误或成功的消息看到... 这是没用的,准确的,我从来没有得到过电子邮件:(

然后我的问题是:

  • 你能告诉我更多关于这个模块?
  • 为什么我永远不会收到状态消息?
  • 我的电脑在本地网络上,也许我必须在我的电脑上配置一些“软件包”才能使电子邮件工作,在这种情况下,哪个“软件包”使用OPA?
+0

不知道太多关于电子邮件模块,但我建议,尝试的第一件事是做'mlset show_logs';或者如果这不起作用,那么设置env。变量'MLSTATE_SHOW_LOGS = 1',然后检查你在控制台(你运行应用程序的位置)得到了什么,并让我们知道 - 这应该有助于指出问题。 – akoprowski

+0

我不确定你的意思是与MLSTATE_SHOw_LOGS ...但我已经启动我的服务器--verbose 100,然后得到这几行: 'resolve_mx:name = alt4gmail-smtp-inlgooglecom resolve_mx:name = alt3gmail- SMTP-inlgooglecom resolve_mx:名称= alt2gmail-SMTP-inlgooglecom resolve_mx:名称= alt1gmail-SMTP-inlgooglecom resolve_mx:名称=的Gmail-SMTP-inlgooglecom ' 但始终一无所知错误或成功......(而且我总是专注不是在我的邮箱) – Mattgu74

回答

0

事实上,这个问题与我启用了安全选项的adsl框相关联。 安全选项只允许我的ISP的smtp。

也许你必须有一些东西来检测它,然后抛出一个错误总比没有更详细的:)

1

我没有设法重现您的问题。我曾尝试用下面的:

import stdlib.web.mail 
from = {name=none address={local="hugo" domain="opalansdfsdforg.fr"}} 
to = {name=none address={local="youremail" domain="gmail.com"}} 
_ = println("===Before") 
r = Email.try_send(from,to,"subject",{text="great"}) 
_ = println("===Status {r}") 
_ = println("===After") 

如果执行该代码(与verbose选项),您能得到什么。 ??

+0

获取电子邮件./test.exe --verbose 100 ===之前 resolve_mx:名称= alt4gmail-SMTP-inlgooglecom resolve_mx:名称= alt3gmail-SMTP-inlgooglecom resolve_mx:名称= alt2gmail -smtp-inlgooglecom resolve_mx:名称= alt1gmail-SMTP-inlgooglecom resolve_mx:名称=的Gmail-SMTP-inlgooglecom ,仅此而已...... – Mattgu74

+0

'致命错误:异常Scheduler.Empty' 这是正在添加10-15分钟后 – Mattgu74