Ajax value send mail
You want to send an email using AJAX!
To send an email using AJAX, you'll need to make an HTTP request to a server-side script that handles the email sending. Here's a general outline of the steps:
- Create a form: Create an HTML form that contains the email address and any other relevant information you want to send in the email.
- Add an AJAX request: Add an AJAX request to the form's
onsubmit
event. This will send the form data to a server-side script. - Server-side script: Create a server-side script (e.g., PHP, Python, Node.js) that receives the form data and sends an email using a library like PHPMailer or Nodemailer.
- Send the email: The server-side script sends the email using the email library.
Here's some sample code to get you started:
HTML form
<form id="email-form">
<input type="email" name="recipient" placeholder="Recipient's email">
<input type="text" name="subject" placeholder="Subject">
<textarea name="message"></textarea>
<button type="submit">Send Email</button>
</form>
AJAX request
document.getElementById('email-form').addEventListener('submit', function(event) {
event.preventDefault();
var formData = new FormData(this);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'send-email.php', true);
xhr.send(formData);
});
Server-side script (PHP)
<?php
// Configuration
$emailTo = '[email protected]';
$emailFrom = '[email protected]';
$subject = $_POST['subject'];
$message = $_POST['message'];
// Email library (e.g., PHPMailer)
require_once 'PHPMailer/PHPMailer.php';
require_once 'PHPMailer/SMTP.php';
$mail = new PHPMailer\PHPMailer\PHPMailer();
$mail->isSMTP();
$mail->Host = 'smtp.example.com';
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = 'your-email-username';
$mail->Password = 'your-email-password';
$mail->setFrom($emailFrom, 'Your Name');
$mail->addAddress($emailTo, 'Recipient\'s Name');
$mail->Subject = $subject;
$mail->Body = $message;
// Send the email
if (!$mail->send()) {
echo 'Error sending email: '. $mail->ErrorInfo;
} else {
echo 'Email sent successfully!';
}
?>
Server-side script (Node.js)
const nodemailer = require('nodemailer');
app.post('/send-email', (req, res) => {
const { recipient, subject, message } = req.body;
const transporter = nodemailer.createTransport({
host: 'smtp.example.com',
port: 587,
secure: false, // or 'STARTTLS'
auth: {
user: 'your-email-username',
pass: 'your-email-password'
}
});
const mailOptions = {
from: 'your-email-username',
to: recipient,
subject,
text: message
};
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Email sent: ' + info.response);
res.send('Email sent successfully!');
});
});
Remember to replace the placeholders with your actual email credentials and settings.