我正在尝试使用nodemailer从我的应用程序发送电子邮件.
我的设置如下:
var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var transporter = nodemailer.createTransport(smtpTransport ({
host: 'smtp.companyname.dk',
secureConnection: true,
port: 587,
auth: {
user: 'support@companyname.dk',
pass: '****'
}
}));
var mailOptions = {
from: 'Olaf <ob@companyname.dk>',
to: 'john@test.dk',
subject: 'This is a test ',
text: 'Hello world ',
html: '<b>Hello world </b>'
};
transporter.sendMail(mailOptions, function(error, info){
if(error){
console.log(error);
}else{
console.log('Message sent: ' + info.response);
}
});
Run Code Online (Sandbox Code Playgroud)
运行此后,它给我以下错误:
{ [Error: Hostname/IP doesn't match certificate's altnames: "Host: smtp.companyname.dk. is not in the …Run Code Online (Sandbox Code Playgroud) 我想在本地服务器上发送邮件,但似乎无法使用Nodemailer和NodeJS.
有没有解决方案从本地发送邮件?
var contact = {subject: 'test', message: "test message", email: 'visitor@gmail.com'};
var to = "myemail@gmail.com";
var transporter = nodemailer.createTransport();
transporter.sendMail({
from: contact.email,
to: to,
subject: contact.subject,
text: contact.message
});
Run Code Online (Sandbox Code Playgroud) 我想使用nodemailer和node.js附加PDF文档,但是,我找到的与nodemailer附件的唯一示例是.txt文件(这里).
有谁知道节点制作者是否支持PDF文档附件?
最初看起来可以附加PDF,但通过电子邮件到达的PDF文件似乎已损坏(见图).
代码:(改编自Mahesh的答案)
fs.readFile('/filePath/fileName.pdf', function (err, data) {
if (err) throw err;
var mailOptions = {
from: 'Test <formEmail@gmail.com>', // sender address
to: 'toPersonName <toEmail@gmail.com>', // list of receivers
subject: 'Attachment', // Subject line
text: 'Hello world attachment test', // plaintext body
html: '<b>Hello world attachment test HTML</b>', // html body
attachments: [
{
filename: 'fileName.pdf',
contentType: 'application/pdf'
}]
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: …Run Code Online (Sandbox Code Playgroud) 我正在从我的域帐户发送邮件,但它们没有显示在用户(来自nodemailer的选项)发送的框中.但是当从gmail服务邮件发送邮件时,会在用户的已发送框中显示.我在下面的代码中遗漏了什么?
var transport = nodemailer.createTransport({
host: "xxxx.domain.com",
auth: {
user: 'xyx',
pass: '123'
}
});
transport.sendMail(options, function (err, info) {
if (err) {
console.log(err)
}
console.log(info);
});
Run Code Online (Sandbox Code Playgroud) 我有一个使用nodemailer的表单,xoauth2和谷歌APi oauth2,我上周更新了密码,从那时起我的应用程序没有工作,我得到:
'535-5.7.8不接受用户名和密码.了解更多信息,请访问\n535 5.7.8
我已经尝试删除应用程序并创建一个新的,但它似乎没有拿起新的更改密码.有关如何解决此问题的任何建议?我允许安全性较低的应用,并显示解锁验证码.
我在Firebase Cloud Functions中使用nodemailer在将数据添加到实时数据库时发送邮件.
码:
const functions = require('firebase-functions');
const nodemailer = require('nodemailer');
const gmailEmail = 'myemail.in@gmail.com';
const gmailPassword = 'mypassword';
const mailTransport = nodemailer.createTransport({
service: 'gmail',
auth: {
user: gmailEmail,
password: gmailPassword
}
});
const APP_NAME = 'ABC In'
exports.salonCreatedAccount = functions.database.instance('abc-
in').ref('/abc/{def}').onCreate(event => {
const snapshot = event.data;
const val = snapshot.val()
console.log(val);
const email = val.email;
const displayname = val.name;
return sendconfirmationEmail(email, displayname);
});
function sendconfirmationEmail(email, displayName){
const mailOptions = {
from: `${APP_NAME} <abc.in@gmail.com>`,
to: email
};
mailOptions.subject …Run Code Online (Sandbox Code Playgroud) node.js firebase nodemailer firebase-realtime-database google-cloud-functions
我有一个带有REST API的回送应用程序。
我想制作一个REST API Enpoint / Email / sendEmail来发送电子邮件。我完成了本教程:https : //loopback.io/doc/en/lb3/Email-connector.html,但是它对我不起作用。
当我打开https:// localhost:3000 / explorer时,我可以看到API端点,并且可以按下按钮“尝试一下”。但是然后它会永久加载,过一会儿我在控制台中收到超时错误。
文件:datasource.json
{
"db": {
"host": "localhost",
"port": 27017,
"url": "",
"database": "siemens",
"password": "",
"name": "db",
"user": "",
"useNewUrlParser": true,
"connector": "mongodb"
},
"email": {
"name": "email",
"connector": "mail",
"transports": [{
"type": "SMTP",
"host": "smtp.gmail.com",
"secure": true,
"port": 465,
"auth": {
"user": "xbit.dany@gmail.com",
"pass": "XXX"
}
}]
}
}
Run Code Online (Sandbox Code Playgroud)
文件:model-config.json
"Email": {
"dataSource": "email",
"public": true
}
Run Code Online (Sandbox Code Playgroud)
文件:email.js
module.exports = function(Email) …Run Code Online (Sandbox Code Playgroud) 我正在使用Nodemailer Node.js模块与sendmail连接.但是,当我通过Gmail帐户访问时,我的电子邮件会直接转到垃圾邮件文件夹.为什么我的电子邮件是狗屎?它必须与电子邮件的标题有关,但我不知道它可能是什么.
我对电子邮件和垃圾邮件过滤器的查找方式并不熟悉,所以有人可以向我提供一些需要注意的细节吗?
谢谢阅读.:)
我正在使用nodejs nodemailer连接到Amazon SES电子邮件服务.这看起来很简单,但我一直收到错误:
"我们计算的请求签名与您提供的签名不匹配.请检查您的AWS秘密访问密钥和签名方法.有关详细信息,请参阅服务文档."
我已经在网上搜索过,大多数人都说这是因为你的秘密密钥末尾有一个空格,或者有时正斜线可能导致问题.最后一个不再是问题,因为我一直在创建SMTP凭据,直到没有.我现在创建了大约10个SMTP凭据,每次都复制并粘贴了AccessKey和SecretKey,我仍然收到此错误.我也尝试过使用http://email-smtp.us-west-2.amazonaws.com,但仍然遇到了同样的错误.
这是我的代码:
var nodemailer = require("nodemailer");
var transport = nodemailer.createTransport("SES",
{
AWSAccessKeyID: 'AKIA************',
AWSSecretKey: 'AqlwF*****************************',
SeviceUrl: 'http://email-smtp.us-east-1.amazonaws.com'
});
nodemailer.sendMail({
transport : transport,
sender : 'some@thing.com' ,
to : 'another@address.com',
subject : 'TEST',
html: '<p> Hello World </p>'
}, function(error, response)
{
if(error){ console.log(error); }
else{ console.log("Message sent: " + response.message);}
});
Run Code Online (Sandbox Code Playgroud)
谁知道我还能做什么?
我有一个bootstrap用于angular 6应用程序的电子邮件服务的表格nodejs,,我nodemailer在我的应用程序中用于sendemail,不幸的是它不起作用。提交表单时出现以下错误:
OPTIONS https://localhost:3000/contact/send 0 ()
这是表格
<form [formGroup]="angForm" novalidate>
<div class="message">
<h3> Write to us </h3>
</div>
<div class="form__top">
<div class="form__left">
<div class="form__group">
<input class="form__input form__input--name" type="text" formControlName="name" placeholder="name" #name>
</div>
<div *ngIf="angForm.controls['name'].invalid && (angForm.controls['name'].dirty || angForm.controls['name'].touched)" class="alert alert-danger">
<div *ngIf="angForm.controls['name'].errors.required">
Name is required.
</div>
</div>
<div class="form__group">
<input class="form__input form__input--email" type="email" formControlName="email" placeholder="email" #email>
</div>
<div *ngIf="angForm.controls['email'].invalid && (angForm.controls['message'].dirty || angForm.controls['message'].touched)"
class="alert alert-danger">
<div *ngIf="angForm.controls['message'].errors.required">
message is required.
</div>
</div> …Run Code Online (Sandbox Code Playgroud) nodemailer ×10
node.js ×9
javascript ×4
amazon-ses ×1
angular ×1
email ×1
express ×1
firebase ×1
google-oauth ×1
loopback ×1
loopbackjs ×1
oauth-2.0 ×1
sendmail ×1
spam ×1