Javascript 错误引用错误:未定义NodeEmailr
我已经在tsconfig.app.json中添加了“类型”:[“节点”] 我只想用angular 5.创建一个简单的电子邮件发件人 如果有其他使用谷歌邮件API的教程的链接,请给我一个链接 这是我的代码Javascript 错误引用错误:未定义NodeEmailr,javascript,node.js,typescript,angular5,nodemailer,Javascript,Node.js,Typescript,Angular5,Nodemailer,我已经在tsconfig.app.json中添加了“类型”:[“节点”] 我只想用angular 5.创建一个简单的电子邮件发件人 如果有其他使用谷歌邮件API的教程的链接,请给我一个链接 这是我的代码 import { Component, OnInit, Input, EventEmitter } from '@angular/core'; declare var nodemailer: any; @Component({ selector: 'app-contact', tem
import { Component, OnInit, Input, EventEmitter } from '@angular/core';
declare var nodemailer: any;
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html',
styleUrls: ['./contact.component.css']
})
export class ContactComponent implements OnInit {
constructor() {}
ngOnInit() {
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'XXX@gmail.com',
clientId: 'XXX-XXX.apps.googleusercontent.com',
clientSecret: 'SY0-XXXX',
refreshToken: '1/XXX_XXX',
accessToken: 'ya29.XXX-XXX-XXX-XXX'
}
})
let mailOptions = {
from: 'FReyes <XXX@gmail.com>',
to: 'XXX@gmail.com',
subject: 'Nodemailer test',
text: 'Hello World!!'
}
transporter.sendMail(mailOptions, function (err, res) {
if(err){
console.log('Error');
} else {
console.log('Email Sent');
}
})
}
}
const express = require('express');
const nodemailer = require('nodemailer');
const app = express();
// Express
app.post('/api/mail', (req, res) => {
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'XXX@gmail.com',
clientId: 'XXX-XXX.apps.googleusercontent.com',
clientSecret: 'SY0-XXXX',
refreshToken: '1/XXX_XXX',
accessToken: 'ya29.XXX-XXX-XXX-XXX'
}
})
let mailOptions = {
from: 'FReyes <XXX@gmail.com>',
to: req.body.to,
subject: req.body.subject,
text: req.body.txt
}
transporter.sendMail(mailOptions, function (err, res) {
if(err){
console.log('Error');
} else {
console.log('Email Sent');
}
})
});
app.listen(3000);
sendMail() {
const data = {
to: 'email@mail.com',
subject: 'Subject',
txt: 'hello world'
};
return this.http.post('/api/mail', data).map((response: Response) =>{
console.log (response.json());
})
}
从'@angular/core'导入{Component,OnInit,Input,EventEmitter};
声明var nodemailer:any;
@组成部分({
选择器:“应用程序联系人”,
templateUrl:'./contact.component.html',
样式URL:['./contact.component.css']
})
导出类ContactComponent实现OnInit{
构造函数(){}
恩戈尼尼特(){
让transporter=nodeEmailer.createTransport({
服务:“gmail”,
认证:{
类型:“OAuth2”,
用户:'XXX@gmail.com',
clientId:'XXX-XXX.apps.googleusercontent.com',
clientSecret:“SY0-XXXX”,
refreshToken:'1/XXX\u XXX',
accessToken:'ya29.XXX-XXX-XXX-XXX'
}
})
让邮件选项={
来自:“弗雷耶斯”,
致:'XXX@gmail.com',
主题:“nodeEmailer测试”,
文字:“你好,世界!!”
}
transporter.sendMail(邮件选项,函数(err,res){
如果(错误){
console.log('Error');
}否则{
console.log(“已发送电子邮件”);
}
})
}
}
我正在使用nodemailer
这是我的错误
NodeEmailer在服务器端工作。你能做的就是用它制作一个API 比如: //服务器端
import { Component, OnInit, Input, EventEmitter } from '@angular/core';
declare var nodemailer: any;
@Component({
selector: 'app-contact',
templateUrl: './contact.component.html',
styleUrls: ['./contact.component.css']
})
export class ContactComponent implements OnInit {
constructor() {}
ngOnInit() {
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'XXX@gmail.com',
clientId: 'XXX-XXX.apps.googleusercontent.com',
clientSecret: 'SY0-XXXX',
refreshToken: '1/XXX_XXX',
accessToken: 'ya29.XXX-XXX-XXX-XXX'
}
})
let mailOptions = {
from: 'FReyes <XXX@gmail.com>',
to: 'XXX@gmail.com',
subject: 'Nodemailer test',
text: 'Hello World!!'
}
transporter.sendMail(mailOptions, function (err, res) {
if(err){
console.log('Error');
} else {
console.log('Email Sent');
}
})
}
}
const express = require('express');
const nodemailer = require('nodemailer');
const app = express();
// Express
app.post('/api/mail', (req, res) => {
let transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: 'XXX@gmail.com',
clientId: 'XXX-XXX.apps.googleusercontent.com',
clientSecret: 'SY0-XXXX',
refreshToken: '1/XXX_XXX',
accessToken: 'ya29.XXX-XXX-XXX-XXX'
}
})
let mailOptions = {
from: 'FReyes <XXX@gmail.com>',
to: req.body.to,
subject: req.body.subject,
text: req.body.txt
}
transporter.sendMail(mailOptions, function (err, res) {
if(err){
console.log('Error');
} else {
console.log('Email Sent');
}
})
});
app.listen(3000);
sendMail() {
const data = {
to: 'email@mail.com',
subject: 'Subject',
txt: 'hello world'
};
return this.http.post('/api/mail', data).map((response: Response) =>{
console.log (response.json());
})
}
电子邮件现在可以正常工作了。但我正在努力解决这个问题。。我不能给邮局打电话。使用单击按钮