I am having an issue receiving mail through my Node Express app. I receive messages that say "Email Sent" then "Email Not Sent". I never had trouble using my PHP mailing script except for Node.
app.js
var express = require('express');
var fs = require('fs');
var bodyParser = require('body-parser');
var app = express();
app.use(express.static(process.cwd() + '/public'));
app.use(bodyParser.urlencoded({extended: true}));
app.get('/', function(req,res){
res.send(fs.readFileSync('./views/index.html', 'utf8'));
});
app.get('/thank_you', function(req,res){
res.send(fs.readFileSync('./views/thank_you.html'));
});
app.post('/contact.php', function(req,res) {
res.send(fs.readFileSync('./public/contact.php'));
});
app.listen(process.env.PORT || 3000, function() {
console.log("LISTENING!")
});
index.html (form)
<form action="contact.php" id="contact-form" method="post" enctype="multipart/form-data">
<div class="row">
<div class="form-group col-md-12">
<input type="text" name="name" class="form-control" id="first-name" placeholder="Name" required="required">
</div>
<div class="form-group col-md-12">
<input type="email" name="email" class="form-control" id="email" placeholder="Email" required="required">
</div>
<div class="form-group col-md-12">
<textarea rows="6" name="message" class="form-control" id="description" placeholder="Your Message" required="required"></textarea>
</div>
<div class="col-md-12 text-center">
<div class="actions wow fadeInDown" data-wow-delay=".4s">
<input type="submit" value="submit now" name="submit" id="submitButton" class="btn btn-lg btn-contact-bg" title="Submit Your Message!">
</div>
</div>
</div>
</form>
contact.php
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$mail_to = 'mygmail@gmail.com';
$subject = 'Message from '. $name;
$body_message = 'From: ' . $name . "\n";
$body_message .= 'E-mail: ' . $email . "\n";
$body_message .= 'Message: ' . $message;
$headers = 'From: '. $email ."\r\n";
$headers .= 'Reply-To: '. $email ."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
header("Location: thank_you.html");
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for the message. We will contact you shortly.');
history.back(1);
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed. Please, send an email to michael@mjstokes.com');
history.back(1);
</script>
<?php
}
?>
via Michael Stokes
No comments:
Post a Comment