2012-09-28 98 views
0

我注意到Opa API有一个SMTPServer扩展。我不完全确定如何使用它。内置的电子邮件解析功能以及必须在处理程序中写入哪些功能?我很感激这个扩展的“hello world”风格的例子。opa smtp服务器使用

回答

2

此代码段应该会对您有所帮助。它是从码behing http://forum.opalang.org回复通过电子邮件特征提取:

function convert_to_utf8(s, b) { 
    match (Iconv.convert_to_utf8(s, b)) { 
    case { some : s }: s 
    default: log_error("..."); "" 
    } 
} 

function raw_handler(to, content) { 
    ... 
    message = Mime.parse(content); 
    match (message) { 
    case { some : content }: 
     content = Mime.get_text(content, convert_to_utf8); 
     .... 
    default: void 
    ... 
} 

function handler(string from, list(string) to, string raw_content) { 
    List.fold({ 
     function(to, acc) _ = raw_handler(to, raw_content); acc 
     }, to, {success}) 
} 

SmtpServer.start(0.0.0.0, 2525, {none}, handler) 
+0

解释的事情好了很多。我似乎无法发送电子邮件到它与此错误: 450 4.1.8 :收件人地址被拒绝:域未找到 – eyecreate

+0

你是如何配置邮件应用程序中的smtp服务器?端口是否正确?你在本地测试吗?本地主机可以在你的机器上访问('ping localhost')? –

+0

配置与您的示例相同,处理程序名称已更改(显然,处理程序代码差异)使用sendemail在本地发送邮件。它可以连接,但拒绝电子邮件。 – eyecreate