emailjs 不工作 [node js]
emailjs not working [node js]
我正在尝试使用 emailjs (https://github.com/eleith/emailjs) 通过 nodejs 发送电子邮件,但是,它给了我一个错误:{ [错误:连接到 smtp 服务器时超时] 代码:4,smtp : 未定义}
我正在尝试使用 hotmail,但我可以使用其他邮件,我只希望它能正常工作。有什么想法吗?
var email = require("emailjs");
var server = email.server.connect({
user: "xxx@hotmail.com",
password:"xxxyyyy",
host: "smtp-mail.live.com",
ssl: true
});
// send the message and get a callback with an error or details of the message that was sent
server.send({
text: "i hope this works",
from: "you <xxxxxx@hotmail.com>",
to: "someone <zzzzz@hotmail.com>",
//cc: "else <else@your-email.com>",
subject: "testing emailjs"
}, function(err, message) { console.log(err || message); });
我使用下面的代码(使用 gmail)进行了测试,它正在运行:
var email = require('emailjs');
var server = email.server.connect({
user: 'nodejsiscool@gmail.com',
password: 'Whosebug',
host: 'smtp.gmail.com',
ssl: true
});
server.send({
text: 'Hey howdy',
from: 'NodeJS',
to: 'Wilson <wilson.balderrama@gmail.com>',
cc: '',
subject: 'Greetings'
}, function (err, message) {
console.log(err || message);
});
在我的控制台中输出是:
{
attachments: [],
alternative: null,
header: {
'message-id': '<1433256538447.0.5970@Wilsons-MacBook-Pro.local>',
date: 'Tue, 02 Jun 2015 10:48:58 -0400',
from: '=?UTF-8?Q?NodeJS?= <>',
to: '=?UTF-8?Q?Wilson?= <wilson.balderrama@gmail.com>',
cc: '',
subject: '=?UTF-8?Q?Greetings?='
},
content: 'text/plain; charset=utf-8',
text: 'Hey howdy'
}
我确实在收件箱中收到了电子邮件。
我怀疑您应该使用主机 smtp.live.com 而不是 smtp-mail.live.com
注意:使用的账户(nodejsiscool@gmail.com)是我刚创建的用于测试目的的有效账户。
确保您正确链接了 emailjs 文件(检查 var email),否则它不会工作。
//Email stuff
var email = require("./node_modules/emailjs/email");
var server = email.server.connect({
user: "EMAIL@gmail.com",
password:"INSERTPASSWORDHERE",
host: "smtp.gmail.com",
ssl: true
});
//If button is clicked then send email
server.send({
text: 'Hello World! \n\n Regards,\n INSERTNAMEHERE \n',
from: 'Name',
to: 'Name <EMAIL@gmail.com>',
cc: '',
subject: ''
}, function (err, message) {
console.log(err || message);
});
使用 Gmail
首先:需要激活使用不太安全的应用程序,风险由您自行承担,如 Gmail 文档中所述。我使用的帐户对我的测试不是很重要:
https://myaccount.google.com/u/2/lesssecureapps?pageId=none
之后:
var email = require("emailjs");
var server = email.server.connect({
user: "YOUR_ACCOUNT@gmail.com",
password:"YOUR_PASSWORD",
host: "smtp.gmail.com",
ssl: true
});
server.send({
text: "Hello world",
from: "YOUR_NAME <YOUR_ACCOUNT@gmail.com>",
to: "FRIEND_NAME <FRIEND_ACCOUNT@gmail.com>",
subject: "Hello"
}, function(err, message) { console.log(err || message); });
补充说明:关于如何在 Gmail 收件箱中设置 "from" 和显示名称:
示例 1:
设置 "from" 只有名字。
from: "YOUR_NAME", // Only name
在收件箱中显示<>
YOUR_NAME <> Hello 18:11
示例 2:
用姓名和 emial 设置 "from"。
from: "YOUR_NAME <YOUR_ACCOUNT@gmail.com>", // Name and email
收件箱不显示<>
YOUR_NAME Hello 18:11
确保你安装了相同版本的包
npm i emailjs@1.0.11
并尝试下面的代码
var email = require("emailjs");
var server = email.server.connect({
user: "your-email@gmail.com",
password: "your-password",
host: "smtp.gmail.com",
ssl: true
});
server.send(
{
text: "Hey howdy",
from: "NodeJS",
to: "Wilson <your-email@gmail.com>",
cc: "",
subject: "Greetings"
},
function(err, message) {
console.log(err || message);
}
);
似乎最新版本无法使用它使用 es6 导出“emailjs@1.0.11”,但版本仍然可以正常工作。
也不要忘记为您使用密码的电子邮件地址启用 less secure 设置。
我觉得你可以用这个版本
emailjs@2.2.0
,
对我来说,这适用于 2.2.0 版
其中 3.0 及以上版本将显示错误。
npm i emailjs@2.2.0
here is the example
我正在尝试使用 emailjs (https://github.com/eleith/emailjs) 通过 nodejs 发送电子邮件,但是,它给了我一个错误:{ [错误:连接到 smtp 服务器时超时] 代码:4,smtp : 未定义}
我正在尝试使用 hotmail,但我可以使用其他邮件,我只希望它能正常工作。有什么想法吗?
var email = require("emailjs");
var server = email.server.connect({
user: "xxx@hotmail.com",
password:"xxxyyyy",
host: "smtp-mail.live.com",
ssl: true
});
// send the message and get a callback with an error or details of the message that was sent
server.send({
text: "i hope this works",
from: "you <xxxxxx@hotmail.com>",
to: "someone <zzzzz@hotmail.com>",
//cc: "else <else@your-email.com>",
subject: "testing emailjs"
}, function(err, message) { console.log(err || message); });
我使用下面的代码(使用 gmail)进行了测试,它正在运行:
var email = require('emailjs');
var server = email.server.connect({
user: 'nodejsiscool@gmail.com',
password: 'Whosebug',
host: 'smtp.gmail.com',
ssl: true
});
server.send({
text: 'Hey howdy',
from: 'NodeJS',
to: 'Wilson <wilson.balderrama@gmail.com>',
cc: '',
subject: 'Greetings'
}, function (err, message) {
console.log(err || message);
});
在我的控制台中输出是:
{
attachments: [],
alternative: null,
header: {
'message-id': '<1433256538447.0.5970@Wilsons-MacBook-Pro.local>',
date: 'Tue, 02 Jun 2015 10:48:58 -0400',
from: '=?UTF-8?Q?NodeJS?= <>',
to: '=?UTF-8?Q?Wilson?= <wilson.balderrama@gmail.com>',
cc: '',
subject: '=?UTF-8?Q?Greetings?='
},
content: 'text/plain; charset=utf-8',
text: 'Hey howdy'
}
我确实在收件箱中收到了电子邮件。
我怀疑您应该使用主机 smtp.live.com 而不是 smtp-mail.live.com
注意:使用的账户(nodejsiscool@gmail.com)是我刚创建的用于测试目的的有效账户。
确保您正确链接了 emailjs 文件(检查 var email),否则它不会工作。
//Email stuff
var email = require("./node_modules/emailjs/email");
var server = email.server.connect({
user: "EMAIL@gmail.com",
password:"INSERTPASSWORDHERE",
host: "smtp.gmail.com",
ssl: true
});
//If button is clicked then send email
server.send({
text: 'Hello World! \n\n Regards,\n INSERTNAMEHERE \n',
from: 'Name',
to: 'Name <EMAIL@gmail.com>',
cc: '',
subject: ''
}, function (err, message) {
console.log(err || message);
});
使用 Gmail
首先:需要激活使用不太安全的应用程序,风险由您自行承担,如 Gmail 文档中所述。我使用的帐户对我的测试不是很重要:
https://myaccount.google.com/u/2/lesssecureapps?pageId=none
之后:
var email = require("emailjs");
var server = email.server.connect({
user: "YOUR_ACCOUNT@gmail.com",
password:"YOUR_PASSWORD",
host: "smtp.gmail.com",
ssl: true
});
server.send({
text: "Hello world",
from: "YOUR_NAME <YOUR_ACCOUNT@gmail.com>",
to: "FRIEND_NAME <FRIEND_ACCOUNT@gmail.com>",
subject: "Hello"
}, function(err, message) { console.log(err || message); });
补充说明:关于如何在 Gmail 收件箱中设置 "from" 和显示名称:
示例 1:
设置 "from" 只有名字。
from: "YOUR_NAME", // Only name
在收件箱中显示<>
YOUR_NAME <> Hello 18:11
示例 2:
用姓名和 emial 设置 "from"。
from: "YOUR_NAME <YOUR_ACCOUNT@gmail.com>", // Name and email
收件箱不显示<>
YOUR_NAME Hello 18:11
确保你安装了相同版本的包
npm i emailjs@1.0.11
并尝试下面的代码
var email = require("emailjs");
var server = email.server.connect({
user: "your-email@gmail.com",
password: "your-password",
host: "smtp.gmail.com",
ssl: true
});
server.send(
{
text: "Hey howdy",
from: "NodeJS",
to: "Wilson <your-email@gmail.com>",
cc: "",
subject: "Greetings"
},
function(err, message) {
console.log(err || message);
}
);
似乎最新版本无法使用它使用 es6 导出“emailjs@1.0.11”,但版本仍然可以正常工作。 也不要忘记为您使用密码的电子邮件地址启用 less secure 设置。
我觉得你可以用这个版本
emailjs@2.2.0
, 对我来说,这适用于 2.2.0 版 其中 3.0 及以上版本将显示错误。
npm i emailjs@2.2.0
here is the example