Node.js 与不同的电子邮件提供商一起使用NodeEmailer
我正在使用nodemailer从我的web应用程序发送电子邮件。 我已经用“服务:'gmail'”从一个gmail帐户向另一个gmail帐户发送电子邮件 上面的代码可以工作,但我无法使其适用于outlook帐户。这意味着,如果我向outlook或hotmail帐户发送电子邮件,它将不起作用 此外,我不知道如何注册多个服务,以便我可以向任何电子邮件服务(hotmail、outlook、gmail…)发送电子邮件,而不仅仅是gmail 我怎么做?如果可以的话,请帮忙 谢谢,,Node.js 与不同的电子邮件提供商一起使用NodeEmailer,node.js,express,nodemailer,Node.js,Express,Nodemailer,我正在使用nodemailer从我的web应用程序发送电子邮件。 我已经用“服务:'gmail'”从一个gmail帐户向另一个gmail帐户发送电子邮件 上面的代码可以工作,但我无法使其适用于outlook帐户。这意味着,如果我向outlook或hotmail帐户发送电子邮件,它将不起作用 此外,我不知道如何注册多个服务,以便我可以向任何电子邮件服务(hotmail、outlook、gmail…)发送电子邮件,而不仅仅是gmail 我怎么做?如果可以的话,请帮忙 谢谢,, Adi在这里,您可以执
Adi在这里,您可以执行以下操作: 首先,您可以使用
NodeJS-Nodemailer-Outlook
,这样您就可以轻松地做到这一点
或者只是试着通过
对于Outlook:
var transport = nodemailer.createTransport("SMTP", {
host: "smtp-mail.outlook.com",
secureConnection: false,
port: 587,
auth: {
user: "XXXXXX@outlook.com",
pass: "XXXXXX"
},
tls: {
ciphers:'SSLv3'
}
});
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "XXXXX@hotmail.com",
pass: "XXXXX"
}
});
对于hotmail:
var transport = nodemailer.createTransport("SMTP", {
host: "smtp-mail.outlook.com",
secureConnection: false,
port: 587,
auth: {
user: "XXXXXX@outlook.com",
pass: "XXXXXX"
},
tls: {
ciphers:'SSLv3'
}
});
var transport = nodemailer.createTransport("SMTP", {
service: "hotmail",
auth: {
user: "XXXXX@hotmail.com",
pass: "XXXXX"
}
});
一次在一起:试试这样的东西
var nodeoutlook = require('nodejs-nodemailer-outlook')
var nodemailer = require("nodemailer");
const promisify = require("es6-promisify");
nodeoutlook.sendEmail({
auth: {
user: "johnexample@organization.com",
pass: "johnpassword"
}, from: 'info@myorganization.com',
to: 'jackexample@organization.com',
subject: 'Hey you, awesome!',
html: '<b>This is bold text</b>',
text: 'This is text version!'
attachments: [
{ // file on disk as an attachment
filename: 'text3.txt',
path: '/path/to/file.txt' // stream this file
}
]
});
async function main(){
let account = await nodemailer.createTestAccount();
let transporter = nodemailer.createTransport({
host: "smtp.ethereal.email",
port: 587,
secure: false,
auth: {
user: account.user,
pass: account.pass
}
});
let mailOptions = {
from: '"Fred "
to: "bar@example.com, baz@example.com", // list of receivers
subject: "Hello",
text: "Hello world?", // plain text body
html: "<b>Hello world?</b>" // html body
};
let info = await transporter.sendMail(mailOptions)
}
main().catch(console.error)
var nodeoutlook=require('nodejs-nodeEmailer-outlook'))
var nodeEmailer=require(“nodeEmailer”);
const promisify=要求(“es6 promisify”);
nodeoutlook.sendmail({
认证:{
用户:“johnexample@organization.com",
通行证:“johnpassword”
},发件人:'info@myorganization.com',
致:'jackexample@organization.com',
主题:“嘿,你真棒!”,
html:“这是粗体文本”,
text:'这是文本版本!'
附件:[
{//磁盘上的文件作为附件
文件名:“text3.txt”,
路径:'/path/to/file.txt'//流式传输此文件
}
]
});
异步函数main(){
let account=wait nodemailer.createTestAccount();
让transporter=nodeEmailer.createTransport({
主机:“smtp.ethereal.email”,
港口:587,
安全:错误,
认证:{
用户:account.user,
通行证:account.pass
}
});
让邮件选项={
发件人:“‘弗雷德’
至:bar@example.com, baz@example.com“,//接收者列表
主题:“你好”,
text:“你好,世界?”,//纯文本正文
html:“你好,世界?”//html正文
};
let info=wait transporter.sendMail(邮件选项)
}
main().catch(console.error)
希望对你有帮助!!!
谢谢这是我用来发送两封电子邮件的代码。它不起作用
const nodemailer = require("nodemailer");
const promisify = require("es6-promisify");
const transport = nodemailer.createTransport({
service: 'gmail',
auth: {
user: "my gmail",
pass: "my gmail pass"
}
});
const transport2 = nodemailer.createTransport({
service: 'hotmail',
auth: {
user: "my hotmail",
pass: "my hotmail pass"
}
});
exports.send = async options => {
const mailOptions = {
to: 'my gmail',
subject: options.subject,
html: options.text,
text: options.text
};
const mailOptions2 = {
to: 'my hotmail',
subject: options.subject,
html: options.text,
text: options.text
};
const sendMail = promisify(transport.sendMail, transport);
return sendMail(mailOptions);
const sendMail2 = promisify(transport2.sendMail2, transport2);
return sendMail2(mailOptions2);
};
你好,非常感谢!使用hotmail服务是可行的,但我想知道如何同时使用gmail和hotmail服务?回答:请查看并安装nodejs NodeEmailer outllokNow当您通过gmail发送最后一封邮件时,您是否能够完成结果