2012-09-28 132 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