• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

How to Send Emails on User Sign-Up with Node.js, Express.js & cPanel

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
Great! You're using Node.js and Express.js, and your website is hosted on a cPanel server. You want to send an email at sign-up time.

Here’s how you can do it step by step:

✅ Step-by-Step: Send Email After Signup (Node.js + Express + cPanel)

? 1. Install nodemailer


Run this in your project folder:


npm install nodemailer
? 2. Create an Email Account in cPanel

  1. Go to your cPanel.
  2. Click on Email Accounts.
  3. Create an email (e.g. no-reply@yourdomain.com).
  4. Go to Connect Devices or Configure Email Client to get SMTP details.

For example:

SettingValue
SMTP Hostmail.yourdomain.com
SMTP Port 465 or 587
Usernameno-reply@yourdomain.com
Password(your email password)
Encryption SSL (for port 465) or TLS (587)
?‍? 3. Send Email in Signup Route


Here’s a sample Express route that sends an email:


const express = require("express");
const nodemailer = require("nodemailer");
const router = express.Router();

router.post("/signup", async (req, res) => {
const { email, name } = req.body;

// 1. Send the email
const transporter = nodemailer.createTransport({
host: "mail.yourdomain.com",
port: 465, // or 587
secure: true, // true for port 465, false for 587
auth: {
user: "no-reply@yourdomain.com",
pass: "your_email_password",
},
});

const mailOptions = {
from: '"Your Website" <no-reply@yourdomain.com>',
to: email,
subject: "Welcome to Our Site!",
html: `<p>Hi ${name},</p><p>Thanks for signing up!</p>`,
};

try {
await transporter.sendMail(mailOptions);
res.status(200).json({ message: "Signup successful. Email sent!" });
} catch (error) {
console.error("Email error:", error);
res.status(500).json({ error: "Signup successful but email failed." });
}
});

module.exports = router;
? 4. Test Your API


Make a POST request to /signup with body:


{
"email": "user@example.com",
"name": "John Doe"
}

Use Postman or your frontend form.

✅ Optional but Recommended

  • Make sure your domain's DNS records include proper SPF, DKIM, and DMARC (cPanel > Email Deliverability).
  • Avoid using @gmail.com as sender; always use your domain email like no-reply@yourdomain.com.


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу