Localhost works fine, but issue come Zoha mailer on live server
Localhost works fine, but issue come Zoha mailer on live server
package.json
"proxy": {
"/auth/google": {
"target": "
http://localhost:8000/"
}
},
ContactForm.jsx
import React, { useState, useEffect } from 'react'
const ContactForm = () => {
const [fname, setFname] = useState("");
const [lname, setLname] = useState("");
const [email, setEmail] = useState("");
const [subject, setSubject] = useState("");
const [msg, setMsg] = useState("");
const [message, setMessage] = useState('');
useEffect(() => {
setTimeout(function () {
setMessage(true)
}, 9000);
},
[message])
const sendEmail = async (e) => {
e.preventDefault();
setFname("");
setLname("");
setEmail("");
setSubject("");
setMsg("");
setMessage(`Thank you ${fname} ${lname} for enquiry. We will back to you asap.`);
const res = await fetch("/register", {
method: "POST",
headers: {
"Content-Type": "application/json"
}, body: JSON.stringify({
fname, lname, email, subject, msg
})
});
console.log(res);
}
return (
<>
<div className="contact-form">
<div className="contact-form-info">
<div className="contact-title">
<h3>TELL US YOUR PROJECT</h3>
</div>
<form id="contact-form">
<div className="contact-page-form">
<div className="contact-input">
<div className="contact-inner">
<input type="text" placeholder="First Name *" id="first-name" value={fname} onChange={(e) => setFname(e.target.value)} />
</div>
<div className="contact-inner">
<input type="text" placeholder="Last Name *" id="last-name" value={lname} onChange={(e) => setLname(e.target.value)} />
</div>
<div className="contact-inner">
<input type="text" placeholder="Email *" id="email" value={email} onChange={(e) => setEmail(e.target.value)} />
</div>
<div className="contact-inner">
<input type="text" placeholder="Subject *" id="subject" value={subject} onChange={(e) => setSubject(e.target.value)} />
</div>
<div className="contact-inner contact-message">
<textarea placeholder="Message *" value={msg} onChange={(e) => setMsg(e.target.value)}></textarea>
</div>
</div>
<div className="contact-submit-btn">
<button className="submit-btn" type="submit" onClick={sendEmail} >Send Email</button>
<p className="form-messege pt-3">{message}</p>
</div>
</div>
</form>
</div>
</div>
</>
)
}
export default ContactForm;
app.js
const express = require("express");
const app = express();
const router = require("./routes/router");
const cors = require("cors");
const port = 8000
app.use(express.json());
app.use(cors());
app.use(router);
app.listen(port,()=>{
console.log(`Server start on port no : ${port}`)
})
router.js existing
quillreading.com
const express = require("express");
const router = new express.Router();
const nodemailer = require("nodemailer");
router.post("/register", (req, res) => {
const { fname, lname, email, subject, msg } = req.body;
try {
let transporter = nodemailer.createTransport({
host: "smtppro.zoho.in",
port: 465,
secure: true, // true for 465, false for other ports
auth: {
user: "
info@mydomain.com
",
pass: "myAppPassword",
},
});
const mailOptions = {
from: "
info@mydomain.com
",
cc: "
info@mydomain.com
",
to: email,
subject: "Website Form",
html: 'First Name : ' + fname + '<br>' +
'Last Name : ' + lname + '<br>' +
'Email : ' + email + '<br>' +
'Subject : ' + subject + '<br>' +
'Message : ' + msg
}
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log("Error", error)
} else {
console.log("Email sent" + info.response);
res.status(201).json({ status: 201, info })
}
})
} catch (error) {
res.status(401).json({ status: 401, error })
}
});
module.exports = router;T
The Zoha emailer used to work properly on localhost when sending emails from my react and node js apps.
The deployment did not work on my hosting.
Giving this.
Response {type: 'basic', url: '
https://example.com/register',
redirected: false, status: 200, ok: true, …}