Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误引用错误:未定义NodeEmailr_Javascript_Node.js_Typescript_Angular5_Nodemailer - Fatal编程技术网

Javascript 错误引用错误:未定义NodeEmailr

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

我已经在tsconfig.app.json中添加了“类型”:[“节点”]

我只想用angular 5.创建一个简单的电子邮件发件人

如果有其他使用谷歌邮件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());
    })
}
从'@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());
    })
}

电子邮件现在可以正常工作了。但我正在努力解决这个问题。。我不能给邮局打电话。使用单击按钮