我正在使用我的网络应用程序的联系页面,在我的Web应用程序平台(node.js)上使用模块(nodemailer)向我自己发送电子邮件.因为,我正在向自己发送电子邮件,如果我回复电子邮件,我将再次向自己发送电子邮件,而不是通过电子邮件标题中设置的"发件人"标题将其发送到电子邮件.我怎么能让客户(gmail,yahoo等)知道应该回复哪个电子邮件?
我正在使用Nodemailer模块为Node.js从Ubuntu Linux服务器进行发送.
我正在使用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)
谁知道我还能做什么?
我在过去几周一直遇到这个问题,它每次都在本地工作,但是一旦我将它部署到我的heroku服务器,它就会给我一个invalid login错误.我已经进入帐户并且可以访问不太安全的应用程序.凭据是正确的,并且每次都在localhost上运行.有什么我想念的吗?
quickSendMail: function(routeBody, callback) {
//configuring the nodemailer for email notifications
var smtpConfig = {
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'mysmtpemail123',
pass: '******'
}
};
var mailOptions = {
from: 'SageStorm Site <mysmtpemail123@gmail.com>',
to: ['my email'],
subject: routeBody.subject,
html: 'my message'
};
var transporter = nodemailer.createTransport(smtpConfig);
transporter.verify(function(error, success) {
if (error) {
console.log(error);
} else {
console.log('server is ready to send emails');
}
})
transporter.sendMail(mailOptions, function(error, info) {
if (error) …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我的 Nodejs 应用程序发送电子邮件。
var payload = { auth:
{
user: smtpuser,
pass: smtppass
},
to : toAddr,
from : emailfrom,
cc : ccAddr,
subject : subject,
html : content,
attachments: attachments
};
var transporter = nodemailer.createTransport(
{ host: payload.host || 'smtp.office365.com', // Office 365 server
port: payload.port || 587, // secure SMTP
secure:payload.secure || false, // false for TLS - as a boolean not string - but the default is false so just remove this completely
auth: payload.auth, …Run Code Online (Sandbox Code Playgroud) 我正在使用 nodemailer 向具有 Office 365 帐户的用户发送电子邮件,电子邮件和密码均正确,但每次我都会收到错误 - 身份验证失败
Error: Invalid login:Authentication unsuccessful[BL0PR01CA0033.prod.exchangelabs.com]
code: 'EAUTH',
response: '535 5.7.3 Authentication unsuccessful [BL0PR01CA0033.prod.exchangelabs.com]',
response Code: 535,
command: 'AUTH LOGIN'**
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Nodemailer通过电子邮件发送我的流数据,但由于某种原因,附件0 kb在我下载并查看其信息时出现。如何正确发送流及其数据作为附件?流应该包含一个PKPass将响应作为附件发送是否更好的选择?我正在使用passkit-generator来生成PKPass
const stream = examplePass.generate();
res.set({
'Content-Type': 'application/vnd.apple.pkpass',
'Content-disposition': `attachment; filename=${passName}.pkpass`,
});
stream.pipe(res);
//Send the receipt email
stream.on('finish', (attach) => {
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 587,
secure: false,
requireTLS: true,
auth: {
user: 'email4@gmail.com',
pass: 'password',
},
});
let mailOptions = {
from: 'email4@gmail.com',
to: 'emailTo1@gmail.com',
subject: 'You\'re on your way to ',
html: '<h1>Reciept email</h1>',
attachments: [
{
filename: 'Event.pkpass',
contentType: 'application/vnd.apple.pkpass',
content: stream,
},
], …Run Code Online (Sandbox Code Playgroud) 我在 node.js 服务器上设置 nodemailer 时遇到了一个大问题。尝试了我在互联网上找到的一切,但没有任何效果。唯一易于设置的是 gmail 服务。但不幸的是我不能使用那个。
将安全设置为true 时,我收到一个 ssl 错误,原因是版本代码错误。
[Error: 22468:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:
] {
library: 'SSL routines',
function: 'ssl3_get_record',
reason: 'wrong version number',
code: 'ESOCKET',
command: 'CONN'
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将secure设置为false 时,我会收到一个无效的问候错误。
Error: Invalid greeting. response=* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2016 Double Precision, Inc. See COPYING for distribution information.: * OK [CAPABILITY IMAP4rev1 UIDPLUS …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用从 node.js 服务器发送电子邮件 nodemailer
我目前有一个在 Google Domains 注册的域名,因此我有一个 G Suite 实例设置来为我提供电子邮件服务器。
我有一个电子邮件设置: noreply@domainname.com
我想要做的是从我的服务器从上面的电子邮件发送一封电子邮件。我不想使用普通的用户和密码验证,因为这对我来说非常不安全。
有没有人有可以帮助我实现这一目标的教程或文档?
使用Nodemailer,如何使用别名gmail帐户发送电子邮件?或一组谷歌套件服务器帐户?
例如:
我的真实账户:myaccount@domain.com
我将使用 nodemailer 通过我的别名帐户或组帐户发送消息。
我的别名帐户:myaliasaccount@domain.com
我的团体帐户:mygroupaccount@domain.com
这可能吗?
nodemailer ×10
node.js ×8
email ×2
express ×2
gmail ×2
javascript ×2
amazon-ses ×1
angular ×1
gmail-api ×1
heroku ×1
oauth-2.0 ×1
office365 ×1
outlook ×1