3

Erlang/OTP でメール関連の通信を実用的に処理するにはどうすればよいですか? bash、python、または Perl スクリプトを使用して、電子メールを送信することができます。しかし、Erlang では、他のアプリケーションに代わって電子メールを送信および/または受信する専用のアプリケーションまたは組み込み関数をまだ見つけていません。 yaws
では、Web サーバーのアプリケーション パスにメール アプリケーションがあります。ただし、yaws のホームページには、このアプリケーション専用のドキュメントはありません。Nitrogen Web フレームワークでは、電子メール プロトコルに関する限り、まだ有用なものは何も見つかりませんでした。
実用的にメールを送受信するために使用できるライブラリを誰かが知っている場合は、私に指示してください。また、私が知らない非公式の実装もある可能性があります。前もって感謝します

4

2 に答える 2

3

私はsmtp_fsm.erlを使用してメールを送信することに成功しています (正確にはこのバージョンではありませんが、これは公開されています)。

クイック検索では、他の smtp および電子メール関連のパッケージがいくつか表示されましたが、私はこれらのいずれについても経験がありません。

于 2011-05-10T16:08:18.603 に答える
1

Erlangでメールを送信したい場合は、トランザクションメールサービスAlphaMailをご覧ください。

Erlang用のAlphaMailモジュールを使用してメールを送信する方法の例を次に示します。

Service = alphamail:email_service("YOUR-ACCOUNT-API-TOKEN-HERE").
Payload = alphamail:message_payload(
    2,                                                                          % Project id
    alphamail:email_contact(<<"Sender Name">>, <<"from@example.com">>),         % Sender
    alphamail:email_contact(<<"Joe E. Receiver">>, <<"to@example.org">>, 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の開発者の1人です

于 2012-09-24T01:30:35.300 に答える