问题描述:

Email encryption in transit (TLS), how can I change this I get an email thats undefine??

I'm using nodemailer, everything works right, but I receive an email with no content,I'm confused on linking the form into the app.js so it will send the info to my email.

thanks for the any suggestion community!

is funny because i do get the email, within a few seconds, I'm amazed on how fast it is to response.

/*

* Author: Cesar Diaz

* Date: 2-25-2016

* Website: help me keep my home

* App Name: Node Emailer

* Description: NodeJs script to send emails

*/

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

}));

// Home page

app.get('/', function(req, res) {

res.sendfile('index.html');

});

// sending mail function

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

if (req.body.email == "" || req.body.subject == "") {

res.send("Error: Email & Subject should not blank");

return false;

}

var subject = "Email from " + req.body.name + " " + req.body.lastname;

var description = req.body.name + " " + req.body.lastname + " " + req.body.phone + " " + req.body.email + " " + req.body.state + " " + req.body.lender + " " + req.body.property;

// Sending Email Without SMTP

nodemailer.mail({

from: "Node Emailer ✔ <[email protected]>", // sender address

to: req.body.email, // list of receivers

subject: req.body.subject + " ✔", // Subject line

//text: "Hello world ✔", // plaintext body

html: "<b>" + req.body.description + "</b>" // html body

});

res.send("Email has been sent successfully");

// Sending Emails with SMTP, Configuring SMTP settings

var smtpTransport = nodemailer.createTransport("SMTP", {

host: "smtp.gmail.com", // hostname

secureConnection: true, // use SSL

port: 465, // port for secure SMTP

auth: {

user: '//removed',

pass: "['removed']"

}

});

var mailOptions = {

from: "Node Emailer ✔ <[email protected]>", // sender address

to: req.body.email, // list of receivers

subject: req.body.subject + " ✔", // Subject line

//text: "Hello world ✔", // plaintext body

html: "<b>" + req.body.description + "</b>" // html body

}

smtpTransport.sendMail(mailOptions, function(error, response) {

if (error) {

res.send("Email could not sent due to error: " + error);

} else {

res.send("Email has been sent successfully");

}

});

});

// Starting server

var server = http.createServer(app).listen(port, function() {

console.log("Listening on " + port);

});

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Send email in nodejs</title>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

</head>

<body>

<div class="panel panel-primary" style="width:50%;margin:0 auto; margin-top:10%">

<div class="panel-heading">

<h3>Help is here!</h3>

</div>

<div class="panel-body" style="height:40%; text-align:center;">

<p class="bg-info" id="msg"></p>

<form class="form-horizontal" role="form" id="emailForm" method="post">

<div class="form-group">

<label class="control-label col-sm-2" for="name">

First name

</label>

<div class="col-sm-10">

<input type="name" class="form-control" name="name" placeholder="Enter first name" required="required">

</div>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="name1">

Last name

</label>

<div class="col-sm-10">

<input type="last-name" class="form-control" name="last-name" placeholder="Enter last name" required="required">

</div>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="tel">

Telephone

</label>

<div class="col-sm-10">

<input type="phone" class="form-control" name="phone" placeholder="Enter phone number" required="required">

</div>

</div>

<div class="form-group">

<label class="control-label col-sm-2" for="email">Email:</label>

<div class="col-sm-10">

<input type="email" class="form-control" name="email" placeholder="Enter email" required="required">

</div>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="state">

What state are you in?

</label>

<div class="col-sm-10">

<select class="form-control">

<option>Alabama</option>

<option>Alaska</option>

<option>Arizona</option>

<option>Arkansas</option>

<option>California</option>

<option>Colorado</option>

<option>Connecticut</option>

<option>Delaware</option>

<option>Florida</option>

<option>Georgia</option>

<option>Hawaii</option>

<option>Idaho</option>

<option>Illinois Indiana</option>

<option>Iowa</option>

<option>Kansas</option>

<option>Kentucky</option>

<option>Louisiana</option>

<option>Maine</option>

<option>Maryland</option>

<option>Massachusetts</option>

<option>Michigan</option>

<option>Minnesota</option>

<option>Mississippi</option>

<option>Missouri</option>

<option>Montana Nebraska</option>

<option>Nevada</option>

<option>New Hampshire</option>

<option>New Jersey</option>

<option>New Mexico</option>

<option>New York</option>

<option>North Carolina</option>

<option>North Dakota</option>

<option>Ohio</option>

<option>Oklahoma</option>

<option>Oregon</option>

<option>Pennsylvania Rhode Island</option>

<option>South Carolina</option>

<option>South Dakota</option>

<option>Tennessee</option>

<option>Texas</option>

<option>Utah</option>

<option>Vermont</option>

<option>Virginia</option>

<option>Washington</option>

<option>West Virginia</option>

<option>Wisconsin</option>

<option>Wyoming</option>

</select>

</div>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="owe">

How much do you owe on your house?

</label>

<div class="col-sm-10">

<select class="form-control">

<option>Select one</option>

<option>owe less than $75,000 on home</option>

<option>owe between $75,000 to 100,000</option>

<option>owe between $100,000 to $200,000</option>

<option>owe between $300,000 to $400,000</option>

<option>owe between $400,000 to $500,000</option>

<option>owe more than $500,000 on home</option>

</select>

</div>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="lender">

Who is your lender?

</label>

<div class="col-sm-10">

<input class="form-control" id="lender" name="lender" type="text" />

</div>

</div>

<div class="form-group ">

<label class="control-label requiredField" for="foreclose-date">

Is there a foreclosure sales auction date set?

<label class="radio-inline">

<input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="option1">Yes

</label>

<label class="radio-inline">

<input type="radio" name="inlineRadioOptions" id="inlineRadio2" value="option2">No

</label>

</label>

</div>

<div class="form-group ">

<label class="control-label col-sm-2" for="property">

Property address

</label>

<div class="col-sm-10">

<input class="form-control" id="property" name="property" type="text" />

</div>

</div>

<div class="form-group">

<div class="col-sm-offset-2 col-sm-10">

<button id="send" class="btn btn-primary btn-lg" type="button">

<span class="glyphicon glyphicon-send"></span> Send

</button>

</div>

</div>

</form>

</div>

</div>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<script>

$(function() {

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

$("#send").click(function() {

var formData = $("#emailForm").serialize();

$("#msg").text("Email sending Please wait..");

$.ajax({

url: fullUrl + '/send',

type: 'POST',

data: formData,

success: function(result) {

$("#msg").empty().text(result);

},

error: function(e) {

$("#msg").empty().text("There is some error to send email, Error code:" + e.status + ", Error message:" + e.statusText);

},

dataType: "html",

timeout: 60000

});

});

});

</script>

</body>

</html>

相关阅读:
Top