web-dev-qa-db-ja.com

Node.jsでEメールを送信しますか?

私は最近私の最初のnode.jsのプログラミングを始めました。しかし、Eメールを送信できるノードからモジュールが見つからないため、Eメールに直接送信する連絡先フォームを作成できないことがわかりました。

誰かがnode.js Eメール・ライブラリーまたはサンプル連絡フォーム・スクリプトを知っていますか?

271
NycCompSci

node-email-templatesは、はるかに優れたオプションです。 https://github.com/niftylettuce/node-email-templates

窓もサポートしています

138
JimBastard

Nodemailerは基本的にNode.jsでプログラミングするときあなたに簡単に電子メールを送る能力を与えるモジュールです。 http://www.nodemailer.com/ にNodemailerモジュールの使い方の良い例がいくつかあります。 Nodemailerの基本機能をインストールして使用する方法に関する完全な説明はこのリンクに含まれています。

私は個人的にnpmを使ってNodemailerをインストールするのに苦労したので、私はただソースをダウンロードしました。 npmのインストールとソースのダウンロードの両方についての説明があります。

これは使用するのが非常に単純なモジュールであり、Node.jsを使ってEメールを送りたい人にはお勧めです。がんばろう!

154
Eric Peterson

Emailjsをチェックアウト

Nodemailerが大きな添付ファイルを扱えるようにするのに多くの時間を浪費した後、emailjsを見つけ、それ以来幸せです。

Nodemailerが必要とする巨大なBuffersではなく、通常のFileオブジェクトを使用してファイルを送信することをサポートします。あなたがそれをリンクすることができることを意味します、例えば、htmlフォームからメーラに添付ファイルを渡すのは手ごわいです。キューイングもサポートします。

結局のところ、nodejitsu pplがなぜ彼らのバージョンの基礎となるnodemailerを選んだのか、まったくわかりません。

64
silvio

Nodemailerモジュールを使用して電子メールを送信するための完全なコード

var mailer = require("nodemailer");

// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport("SMTP",{
    service: "Gmail",
    auth: {
        user: "[email protected]",
        pass: "gmail_password"
    }
});

var mail = {
    from: "Yashwant Chavan <[email protected]>",
    to: "[email protected]",
    subject: "Send Email Using Node.js",
    text: "Node.js New world for me",
    html: "<b>Node.js New world for me</b>"
}

smtpTransport.sendMail(mail, function(error, response){
    if(error){
        console.log(error);
    }else{
        console.log("Message sent: " + response.message);
    }

    smtpTransport.close();
});
50
Vicky

@ JimBastardの承認された回答は日付付きのようだ、私は見ていたし、そのメーラlibは7ヶ月以上触れられておらず、いくつかのバグがリストされていて、もはやnpmに登録されていない。

nodemailer は確かに最良の選択肢のように見えますが、このスレッドに関する他の回答で提供されているURLはすべて404です。

nodemailerはgmailやhotmailなどへの簡単なプラグインをサポートすると主張していて、また本当に美しいドキュメントを持っています。

25
Dean Rather

あなたはいつでも AlphaMail開示:私はその背後にある開発者の一人です)。

NPM でインストールするだけです。

npm install alphamail

AlphaMailアカウントにサインアップしてください。トークンを入手すると、AlphaMailサービスを使って送信を開始できます。

var alphamail = require('alphamail');

var emailService = new alphamail.EmailService()
    .setServiceUrl('http://api.amail.io/v1/')
    .setApiToken('YOUR-ACCOUNT-API-TOKEN-HERE');

var person = {
    id: 1234,
    userName: "jdoe75",
    name: {
        first: "John",
        last: "Doe"
    },
    dateOfBirth: 1975
};

emailService.queue(new alphamail.EmailMessagePayload()
    .setProjectId(12345) // ID of your AlphaMail project (determines template, options, etc)
    .setSender(new alphamail.EmailContact("Sender Company Name", "[email protected]"))
    .setReceiver(new alphamail.EmailContact("John Doe", "[email protected]"))
    .setBodyObject(person) // Any serializable object
);

AlphaMailのGUI( Dashboard )では、送信したデータを使ってテンプレートを編集できます。

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

        <# if (payload.id != null) { #>
            <a href="http://company.com/sign-up">Sign Up Free!</a>
        <# } else { #>
            <a href="http://company.com/login?username=<# urlencode(payload.userName) #>">Sign In</a>
        <# } #>
    </body>
</html>

テンプレートは Comlang で書かれています。これはメール用に特別に設計されたシンプルなテンプレート言語です。

9
Robin Orheden

成熟していて、使い方が簡単で、シンプルでなければたくさんの機能があります。Nodemailer: https://github.com/andris9/nodemailer (注正しいURLです!)

8

Nodemailerモジュールはnode.jsで電子メールを送信するための最も簡単な方法です。

このサンプルフォームの例を試してください。 http://www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module

追加情報: http://www.nodemailer.com/

6
aacharya_vaddey

npmにはいくつかのパッケージがありますが、どれもまだ1.0に達していません。 npm list mailからのベストピック:

[email protected]
[email protected]
[email protected]
3
Ezku

それはnodemailer/postmarkappをサポートし、美しい非同期の電子メールテンプレートを持っているので、あなたは間違いなく https://github.com/niftylettuce/node-email-templates を使用したいです。組み込みのサポート。

3
Some dude

campaign はNodeでEメールを送信するための総合的な解決策です、そしてそれは非常に単純なAPIを持っています。

あなたはそれをこのようにインスタンス化します。

var client = require('campaign')({
  from: '[email protected]'
});

電子メールを送信するには、 Mandrill を使用します。これは無料で素晴らしいものです。このようにAPIキーを設定するだけです。

process.env.MANDRILL_APIKEY = '<your api key>';

(他のプロバイダを使ってメールを送りたい場合は、ドキュメントをチェックしてください)

それからあなたが電子メールを送りたいと思うとき、あなたはこれをこのようにすることができます:

client.sendString('<p>{{something}}</p>', {
  to: ['[email protected]', '[email protected]'],
  subject: 'Some Subject',
  preview': 'The first line',
  something: 'this is what replaces that thing in the template'
}, done);

GitHubレポジトリには かなり豊富なドキュメント があります。

2
bevacqua