私は最近、最初のnode.jsのプログラミングを始めました。しかし、メールを送信できるノードからモジュールが見つからないため、メールに直接送信する連絡先フォームを作成できないことがわかりました。
node.jsメールライブラリやサンプルの連絡フォームスクリプトを知っている人はいますか?
私は最近、最初のnode.jsのプログラミングを始めました。しかし、メールを送信できるノードからモジュールが見つからないため、メールに直接送信する連絡先フォームを作成できないことがわかりました。
node.jsメールライブラリやサンプルの連絡フォームスクリプトを知っている人はいますか?
回答:
node-email-templatesははるかに優れたオプションです:https : //github.com/niftylettuce/node-email-templates
Windowsにも対応しています
node-email-templates
立ち上がって実行するために数時間を費やしました。初期化し、後で送信するために使用するオブジェクトとしてそれを使用したいだけです。動作しません。あきらめます。
Nodemailerは基本的に、Node.jsでプログラミングするときにメールを簡単に送信できるモジュールです。Nodemailerモジュールの使用方法に関する優れた例がhttp://www.nodemailer.com/にあります。Nodemailerの基本機能をインストールして使用する方法についての完全な説明は、このリンクに含まれています。
私はnpmを使用してNodemailerをインストールするのに個人的に問題があったので、ソースをダウンロードしました。npmのインストールとソースのダウンロードの両方の手順があります。
これは非常にシンプルなモジュールであり、Node.jsを使用してメールを送信したい人にはお勧めです。幸運を!
nodemailerを大きな添付ファイルで動作させるために多くの時間を費やした後、それ以来、emailjsに満足しています。
通常のFileオブジェクトを使用したファイルの送信をサポートし、nodemailerが必要とする巨大なバッファーはサポートしません。添付ファイルをHTMLフォームからメーラーに渡すのに手ごわい方法でリンクできることを意味します。キューイングもサポートしています。
全体として、nodejitsu pplがバージョンをベースにするためにnodemailerを選択した理由はわかりませんが、emailjsははるかに高度です。
nodemailerモジュールを使用して電子メールを送信するための完全なコード
var mailer = require("nodemailer");
// Use Smtp Protocol to send Email
var smtpTransport = mailer.createTransport("SMTP",{
service: "Gmail",
auth: {
user: "gmail_id@gmail.com",
pass: "gmail_password"
}
});
var mail = {
from: "Yashwant Chavan <from@gmail.com>",
to: "to@gmail.com",
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();
});
Nodemailer
方法を見つけましたnode-email-templates
。多分それは私が基本的な平文/基本的なhtmlメールを送信しようとしただけなのに、文字通り2分で稼働していたのnode-email-templates
に対し、さらに多くの設定が必要であることがわかりましたNodemailer
。
TypeError: Cannot create property 'mailer' on string 'SMTP' at new Mail
。私はこのような投稿に行き、その後このページに行きましたが、それでも失われました。
@JimBastardの承認された回答には日付が付けられているようですが、私は一見して、メーラーlibが7か月以上触れられておらず、いくつかのバグがリストされており、npmに登録されていません。
nodemailerは確かに最良のオプションのように見えますが、このスレッドの他の回答で提供されるURLはすべて404です。
nodemailerはgmailやhotmailなどへの簡単なプラグインをサポートしていると主張しており、本当に美しいドキュメントも持っています。
いつでもAlphaMailを使用できます(開示:私はその背後にいる開発者の1人です)。
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", "from@example.com"))
.setReceiver(new alphamail.EmailContact("John Doe", "to@example.org"))
.setBodyObject(person) // Any serializable object
);
AlphaMail GUI(ダッシュボード)では、送信したデータを使用してテンプレートを編集できます。
<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で記述されています。これは、メール専用に設計されたシンプルなテンプレート言語です。
成熟していて使いやすく、単純では不十分な場合は多くの機能があります。Nodemailer:https : //github.com/andris9/nodemailer(正しいURLに注意してください!)
Nodemailerモジュールは、node.jsでメールを送信する最も簡単な方法です。
次のサンプル例のフォームを試してください:http : //www.tutorialindustry.com/nodejs-mail-tutorial-using-nodemailer-module
追加情報:http : //www.nodemailer.com/
https://github.com/niftylettuce/node-email-templatesはnodemailer / postmarkappをサポートし、組み込みの美しい非同期メールテンプレートサポートを備えているため、間違いなく使用する必要があります。
キャンペーンは、Nodeでメールを送信するための包括的なソリューションであり、非常にシンプルなAPIが付属しています。
このようにインスタンス化します。
var client = require('campaign')({
from: 'you@gmail.com'
});
メールを送信するには、無料で素晴らしいMandrillを使用できます。次のように、APIキーを設定するだけです。
process.env.MANDRILL_APIKEY = '<your api key>';
(別のプロバイダーを使用してメールを送信する場合は、ドキュメントを確認してください)
次に、メールを送信する場合は、次のように実行できます。
client.sendString('<p>{{something}}</p>', {
to: ['someone@gmail.com', 'someone.else@gmail.com'],
subject: 'Some Subject',
preview': 'The first line',
something: 'this is what replaces that thing in the template'
}, done);
GitHubリポジトリにはかなり広範囲にわたるドキュメントがあります。