当我尝试使用以下代码通过Wakanda Server发送电子邮件时,会发生错误:
var mail = require('waf-mail/mail');
var message = new mail.Mail();
message.subject = "Here the subject of the email";
message.from = "me@mydomain.com";
message.to = 'user@somedomain.com';
message.setBody("This is a test message");
mail.send({
address: 'mail.mydomain.com',
port: 587,
isSSL: true,
username: 'MY-USERNAME',
password: 'MY-PASSWORD',
domain: 'mydomain.com'
}, message);
在调试模式下运行时,在mail.send
期间,错误发生在以下行:
socket = tls.connect(port, address, connectCallback);
调试时,我无法进入此函数调用,并且在尝试执行此操作时会发生错误。
文档说mail.send
应该返回一个状态对象,但这并不会发生在这里。向mail.send
调用添加try / catch会在catch中生成此Error对象:
Error = {
error: [{
componentSignature: "xbox"
errCode: 5
message: ""}],
messages: [""]
}
Wakanda Server 1.1.3
MacOS 10.11.6
我不使用gmail发送电子邮件。
答案 0 :(得分:1)
确保mail.send属性中包含正确的地址和端口。 您必须为正在使用的邮件搜索正确的smtp设置。 对于gmail,我使用以下内容成功发送电子邮件:
var mail = require('waf-mail/mail');
var message = new mail.Mail();
message.subject = "Test";
message.from = "me@gmail.com";
message.to = ['me@gmail.com' , 'user@wakanda.io'];
message.setBody("This is a test message");
mail.send({
address: 'smtp.gmail.com',
port: 465,
isSSL: true,
username: 'username',
password: 'password',
domain: 'gmail.com'
}, message);