2011-05-10 33 views
3

如何在Erlang/OTP中實際處理與電子郵件相關的通信? 使用bash,python或Perl腳本,它可能發送電子郵件。但是,在Erlang中,我還沒有找到一個應用程序或內置的專用於代表其他應用程序發送和/或接收電子郵件的函數。
yaws,有一個郵件應用程序位於Web服務器的應用程序路徑。但是,在雅可福主頁上,沒有專門針對此應用程序的文檔。在Nitrogen Web framework,就電子郵件協議而言,我沒有發現任何有用的東西。
如果任何人知道我可以用於實際發送和/或接收郵件的庫,可以請指導我。也可能有非官方的實現,以及我不知道的。 感謝,提前在Erlang中使用電子郵件(POP3,IMAP,SMTP e.t.c)?

+0

我該怎麼做? – 2011-05-13 09:33:55

+0

您接受您提出的問題的答案。您點擊答案上接近選票的符號以接受它。 – Jonas 2011-05-13 09:56:43

回答

2

我已經成功地使用smtp_fsm.erl發送電子郵件(不完全是這個版本,但這是一個可公開訪問)。

快速搜索顯示一些其他smtp和電子郵件相關的軟件包,但我沒有任何這些經驗。

+0

謝謝你,安東 – 2011-05-13 09:33:22

+0

@Muzaaya:如果您滿意,可以選擇此答案爲已接受。 – Jonas 2011-05-13 09:58:05

1

如果你想發送電子郵件二郎,你應該看看事務的電子郵件服務AlphaMail

下面是如何與AlphaMail module for Erlang發送電子郵件的例子:

Service = alphamail:email_service("YOUR-ACCOUNT-API-TOKEN-HERE"). 
Payload = alphamail:message_payload(
    2,                   % Project id 
    alphamail:email_contact(<<"Sender Name">>, <<"[email protected]">>),   % Sender 
    alphamail:email_contact(<<"Joe E. Receiver">>, <<"[email protected]">>, 1234), % Receiver (with receiver id) 
    % Any JSON serializable payload data 
    [ 
     {"userId", 1234}, 
     {"name", {struct, [ 
      {"first", "Joe"}, 
      {"last", "E. Receiver"}, 
     ]}}, 
     {"dateOfBirth", 1989} 
    ] 
). 
alphamail:queue(Service, Payload). 

而作爲你的HTML/Comlang模板:

<html> 
    <body> 
     <b>Name:</b> <# payload.name.first " " payload.name.last #><br> 
     <b>Date of Birth:</b> <# payload.dateOfBirth #><br> 

     <# if (payload.userId != null) { #> 
      <a href="/sign-up">Sign Up Free!</a> 
     <# } else { #> 
      <a href="/login?id=<# payload.userId #>">Sign In</a> 
     <# } #> 
    </body> 
</html> 

披露:我的開發者之一在AlphaMail後面

+0

我認爲你的「to」語法是錯誤的 - 接收者ID應該是最後一個參數? – Bwooce 2013-03-03 07:25:33

+0

我用正確的語法更新了示例(以接收者ID作爲第三個參數)。 – 2013-05-19 22:42:44

相關問題