1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Uncaught Error - Enviando email usando nodemailer e Angularjs

Discussion in 'Technology' started by Aline Luisa, Oct 8, 2018.

  1. Aline Luisa

    Aline Luisa Guest

    tenho quebrado cabeça há algum tempo tentando criar uma pagina de contatos onde o usuário através da pagina consegue enviar um email. Sou nova com node e por isso tenho passado por alguns problemas. No momento não consigo que minha aplicação reconheça o nodemailer e estou tendo a seguinte mensagem de erro:


    Uncaught Error: Module name "nodemailer" has not been loaded yet for context: _. Use require([])

    Segue meu código para analise. Por favor me ajudem, já passei por vários tutoriais e fóruns mas não consigo resolver o problema.


    //CONTROLLER

    (function() {
    'use strict';
    var ContatoController = ['$scope', '$http', function($scope, $http){

    $scope.formulario = {};
    $scope.formulario.nome;
    $scope.formulario.email;
    $scope.formulario.assunto;
    $scope.formulario.mensagem;

    $scope.enviaEmail = function() {
    $http({
    method: 'POST',
    url: '/contact-form',
    headers: {'Content-Type': 'application/x-www-form-urlencoded'},
    data: {
    contactNome: $scope.formulario.nome,
    contactEmail: $scope.formulario.email,
    contactAssunto: $scope.formulario.assunto,
    contactMensagem: $scope.formulario.mensagem
    }
    })
    .success(function(data, status, headers, config) {
    console.log("Mensagem enviada com sucesso!");
    }).
    error(function(data, status, headers, config) {
    console.log("Não deu certo.");
    });
    };
    }];

    angular.module('contactForm').controller('ContatoController', ContatoController);
    })();


    //CONTROLLER-SERVER

    'use strict';

    var nodemailer = require('nodemailer');

    app.post('/enviaEmail', function(req, res) {
    var transporter = nodemailer.createTransport({
    host: 'mail.meudominio.com',
    port: '465',
    secure: true,
    auth: {
    user: 'contato@meudominio.com',
    pass: '****'
    }
    });

    exports.enviaEmail = function(req, res) {
    var data = req.body;

    transporter.enviaEmail({
    from: data.contactEmail,
    to: 'contato@meudominio.com',
    subject: data.contactAssunto + ' - Enviado por: ' + data.contactNome,
    text: data.contactMensagem
    });

    res.json(data);
    };
    });


    //ROUTES

    'use strict';

    angular.module('contactForm')
    .exports = function(app) {

    var core = require('js/server/core.server.controller.js');
    app.route('/contact-form').post(core.enviaEmail);
    };

    Login To add answer/comment
     

Share This Page