数日前、特にアプリケーションからメールを送信する可能性があるため、GoogleがGmailアカウントのセキュリティを変更したことに気付きました。しばらくグーグルで回った後、私はそれに対する修正を見つけることができませんでした。そこで、私はMailgunを使用することにしました。アカウントを作成し、ビジネス検証で有効にしました。ただし、メールを送信することはできません。リクエストされたURLが見つからないというエラーが表示され続けます。私はまだドメインを設定していないので、デフォルトで提供されているメールガンドメインを選択していないのではないかと思います。 Mailgunによって提供されたサンドボックス名を示すNodeMailerからMailgunを使用して電子メールの送信をテストする方法を誰かに教えてもらえますか?.
事前に感謝ホセ
mailgunのNodemailerトランスポート を作成しました。
ここではそれがどのように機能するかを示します。
他のパッケージと同じように、npm install
を使用してパッケージをインストールし、空のファイルにインストールします。
var nodemailer = require('nodemailer');
var mg = require('nodemailer-mailgun-transport');
// This is your API key that you retrieve from www.mailgun.com/cp (free up to 10K monthly emails)
var auth = {
auth: {
api_key: 'key-1234123412341234',
domain: 'sandbox3249234.mailgun.org'
}
}
var nodemailerMailgun = nodemailer.createTransport(mg(auth));
nodemailerMailgun.sendMail({
from: '[email protected]',
to: '[email protected]', // An array if you have multiple recipients.
subject: 'Hey you, awesome!',
text: 'Mailgun rocks, pow pow!',
}, function (err, info) {
if (err) {
console.log('Error: ' + err);
}
else {
console.log('Response: ' + info);
}
});
APIキーを自分のものに置き換えて詳細を変更すれば、準備は完了です!
var nodemailer = require('nodemailer');
// send mail with password confirmation
var transporter = nodemailer.createTransport( {
service: 'Mailgun',
auth: {
user: '[email protected]',
pass: 'XXXXXXXXXXXXXXXX'
}
});
var mailOpts = {
from: '[email protected]',
to: '[email protected]',
subject: 'test subject',
text : 'test message form mailgun',
html : '<b>test message form mailgun</b>'
};
transporter.sendMail(mailOpts, function (err, response) {
if (err) {
//ret.message = "Mail error.";
} else {
//ret.message = "Mail send.";
}
});
ドメインをauthオブジェクト(api_keyだけでなく)にも追加すると、うまくいきました。このような:
var auth = {
auth: {
api_key: 'key-12319312391',
domain: 'sandbox3249234.mailgun.org'
}
};