Nodemailer运行主机

时间:2017-09-29 21:29:12

标签: javascript angularjs nodemailer

我正在使用Nodemailer。我有几个正确运行在localhost中的表单,一切正常。但是当我将它们上传到我的主机(IP DigitalOcean)时,它们不会发送。

我做错了什么?或者上传到我的托管时我应该考虑什么。

我收到以下错误:

POST http://165.227.18.50/send 404 (Not Found)

xhr.send( options.hasContent && options.data || null );

我的IP正在运行:http://165.227.18.50/#!/inicio

server.js



/*
Configuración envío de e-mail
*/
var http=require('http');
var express=require('express');
var nodemailer = require("nodemailer");
var bodyParser = require('body-parser')
var app=express();
var port = Number(process.env.PORT || 5000);
app.use(bodyParser.json()); // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({ extended: true }));

app.use('/', express.static(__dirname + '/'));


var path = require('path');

// Home page
app.get('/*',function(req, res, next){
    res.sendFile('index.html', { root: __dirname });
        //console.log 
        console.log('NodeMailer reading console log...' + req.url);
});

 
// sending mail function
app.post('/send', function(req, res){

    if(req.body.email == "" || req.body.seguro == "") {
        res.send("Error: Email & Seguro should not blank");
        return false;
    }

   // Sending Emails with SMTP, Configuring SMTP settings

    var smtpTransport = nodemailer.createTransport({
        host: "smtp.gmail.com", // hostname
        secureConnection: true, // use SSL
        port: 465, // port for secure SMTP
        secure: true,
        auth: {
            user: '********@gmail.com',
            pass: '********'
            }
    });

    var mailOptions = {
        from: 'My App <********@gmail.com>', // sender address
        to: '****@*****.com', //+ req.body.email, // list of receivers
        subject: 'Nuevo cliente potencial', // Subject line
        //text: "Hello world ✔", // plaintext body
        html:
            'Hola un cliente potencial se ha registrado: <br><br>' + 
            'Producto de interés: ' + req.body.seguro + '<br>' + 
            'Correo electrónico: ' + req.body.email
    }

 
    smtpTransport.sendMail(mailOptions, mailOptionsContact, function(error, response){
        if(error){
             res.send("No se pudo enviar el correo debido a un error.: "+error);
        }else{
             res.send("Requerimiento enviado con éxito.");
        } 
    }); 
});




// Starting server
var server = http.createServer(app).listen(port, function() {
    console.log("Server is Running on 127.0.0.1:" + port);
});
&#13;
&#13;
&#13;

form.html

&#13;
&#13;
<h3 class="text-center">¡Consigue tu seguro ahora!</h3>
<br>

<div id="msg"></div>

<div ng-controller="repeatSeguros">
    
    <form ng-controller="addClientesPotenciales" id="emailForm" method="post" role="form">
        <div class="form-group">
            <select class="form-control form-control-lg" name="seguro" ng-model="client.seguro">
                <option value="" disabled selected hidden>Elije un producto</option>
                <option disabled>Seguro Personas</option>
                <option ng-repeat="seguro in segurosPersonas">{{seguro.tipo}}</option>
                <option disabled>Seguro Empresas</option>
                <option ng-repeat="seguro in segurosEmpresas">{{seguro.tipo}}</option>
            </select>
        </div>        
        <div class="form-group">
            <input type="email" class="form-control form-control-lg" name="email" placeholder="E-mail" required="required" ng-model="client.email">
        </div>

        <p class="">
            <input type="checkbox" checked class="mr-2"> He leído y aceptado los <a ui-sref="main.politicaPrivacidad" href="">términos y condiciones</a> sobre el tratamiento de datos.
        </p>
        
        <button type="submit" class="btn btn-primary btn-block btn-lg" id="send" ng-click="addClient()">Quiero información</button> 
        
    </form>

</div>




<script>

    $(function(){
      
    var fullUrl =  location.protocol+'//'+location.hostname+(location.port ? ':'+location.port: '');

      $("#send").click(function(){      
        var formData = $("#emailForm").serialize();
        $("#msg").html("Enviando requerimiento...");
                  $.ajax({
                    url: fullUrl+'/send',
                      type: 'POST',
                        data: formData,
                              success: function(result) {
                                  $("#msg").empty().html(result);
                                    },
                              error: function(e) {
                                  $("#msg").empty().html("There is some error to send email, Error code:"+e.status +", Error message:"+e.statusText);
                        },
                  dataType: "html",
                  timeout: 60000
              });
            });
        });
        
</script>
&#13;
&#13;
&#13;

0 个答案:

没有答案