From d60e104d65ee6fe519ab27b108f13440880ca0fb Mon Sep 17 00:00:00 2001 From: Mohd Salman Ansari Date: Wed, 3 Aug 2022 14:24:22 +0530 Subject: [PATCH 1/4] chore: rename SendaResumebot.js to SendResumebot.js --- utils/{SendaResumebot.js => SendResumebot.js} | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) rename utils/{SendaResumebot.js => SendResumebot.js} (51%) diff --git a/utils/SendaResumebot.js b/utils/SendResumebot.js similarity index 51% rename from utils/SendaResumebot.js rename to utils/SendResumebot.js index 710e142..91216f2 100644 --- a/utils/SendaResumebot.js +++ b/utils/SendResumebot.js @@ -1,10 +1,7 @@ +import 'dotenv/config' import Telegraf from "telegraf"; -import { config } from "dotenv"; -import dotenv from "dotenv"; -dotenv.config(); import axios from "axios"; import validator from "validator"; -const { isEmail } = validator; const SendResumeBot = () => { const bot = new Telegraf(process.env.BOT_TOKEN); @@ -15,7 +12,7 @@ const SendResumeBot = () => { ) ); - bot.command("send", (ctx) => { + bot.command("send",async (ctx) => { let mail = null; mail = ctx.message.text; mail = mail.split(" "); @@ -23,27 +20,20 @@ const SendResumeBot = () => { //check if email is valid const valid_email = validator.isEmail(mail); - // if email is valid then start the process if (valid_email) { try { - axios - .get(`${process.env.API}${mail}`) - .then((resp) => { - if (resp.data.status === 400) { - ctx.reply(`email has been sent to : \n${mail} Sucessfully ✨`); - ctx.reply( - `Don't worry, you'll get a Job soon.\ngood things take time ❤️` - ); - } - }) - .catch((error) => { - console.log(error); - ctx.reply(`Couldn't send Email ✉️`); - ctx.reply(`Probably API is not wroking 😥`); - }); + const resp = await axios.get(`http://localhost:${process.env.PORT}/api/sendMail/mail=${mail}`) + if (resp.data.status === 400) { + ctx.reply(`email has been sent to : \n${mail} Sucessfully ✨`); + ctx.reply( + `Don't worry, you'll get a Job soon.\ngood things take time ❤️` + ); + } } catch (error) { console.log(error); + ctx.reply(`Couldn't send Email ✉️`); + ctx.reply(`Probably API is not wroking 😥`); } } else { ctx.reply("Please enter a valid email"); From 5dd443b0b50e422402927fbd4496a38571bcb940 Mon Sep 17 00:00:00 2001 From: Mohd Salman Ansari Date: Wed, 3 Aug 2022 14:25:29 +0530 Subject: [PATCH 2/4] update SendEmail.js --- SendEmail.js | 66 ++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/SendEmail.js b/SendEmail.js index 3fd1082..668fea5 100644 --- a/SendEmail.js +++ b/SendEmail.js @@ -1,41 +1,37 @@ -"use strict"; -// const nodemailer = require("nodemailer"); +import 'dotenv/config' import nodemailer from "nodemailer"; -const SendResumeByEmail = async (to, from) => { +const sendEmail = async (to) => { + const transporter = nodemailer.createTransport({ + service: "gmail", + auth: { + user: process.env.EMAIL_ADDRESS, + pass: process.env.PASSWORD, + }, + }); + const mailOptions = { + from: `"Abhishek Kumar" <${process.env.EMAIL_ADDRESS}>`, + to, + subject: "Inquiry for Full stack developer", + text: " Hi, Here is my resume, have a good day ✨ !!", + attachments: { + filename: "Full-Stack-dev-Abhishek.pdf", + path: process.env.RESUME, + }, + }; + return transporter.sendMail(mailOptions); +}; + +const SendResumeByEmail = async (to) => { return new Promise(async (resolve, reject) => { - const transporter = nodemailer.createTransport({ - host: "smtp.ethereal.email", - port: 587, - service: "gmail", - secure: true, - auth: { - user: process.env.EMAIL_ADDRESS, - pass: process.env.PASSWORD, - }, - }); - const mailOptions = { - from: `"Abhishek Kumar" <${process.env.EMAIL_ADDRESS}>`, - to, - subject: "Inquiry for Full stack developer", - text: " Hi, Here is my resume, have a good day ✨ !!", - attachments: { - filename: "Full-Stack-dev-Abhishek.pdf", - path: process.env.RESUME, - }, - }; - transporter - .sendMail(mailOptions) - .then((res) => { - console.log(res); - resolve( - JSON.stringify({ status: "Email has been sent successfully !!" }) - ); - }) - .catch((err) => { - console.log(err); - reject(JSON.stringify({ status: "There was some problem" })); - }); + try { + const res = await sendEmail(to); + console.log(res); + resolve(JSON.stringify({ status: "Email has been sent successfully !!" })); + } catch (err) { + console.log(err); + reject(JSON.stringify({ status: "There was some problem" })); + } }); }; From 37b08223e1534cd9a6bbea07d151fa8a2452cc9a Mon Sep 17 00:00:00 2001 From: Mohd Salman Ansari Date: Wed, 3 Aug 2022 14:25:45 +0530 Subject: [PATCH 3/4] update MailhandlerControler.js --- controllers/MailhandlerControler.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/controllers/MailhandlerControler.js b/controllers/MailhandlerControler.js index 7dee424..875cecd 100644 --- a/controllers/MailhandlerControler.js +++ b/controllers/MailhandlerControler.js @@ -1,17 +1,15 @@ +// @type-check import SendResumeByEmail from "../SendEmail.js"; -export const mailhandlerController = (req, res) => { +export const mailhandlerController = async (req, res) => { console.log(req.params); const { mail } = req.params; - SendResumeByEmail(mail) - .then((response) => { - console.log("Sucess >> ", JSON.parse(response)); - - res.json({ status: 400, message: JSON.parse(response) }); - }) - .catch((err) => { - console.log("error >> ", JSON.parse(err)); - - res.json({ status: 200, message: JSON.parse(err) }); - }); + try { + const response = await SendResumeByEmail(mail) + console.log("Sucess >> ", JSON.parse(response)); + res.json({ status: 400, message: JSON.parse(response) }); + } catch (error) { + console.log("error >> ", JSON.parse(err)); + res.json({ status: 200, message: JSON.parse(err) }); + } }; From beaf92362580e6713df8972cc2bc66356e789ffe Mon Sep 17 00:00:00 2001 From: Mohd Salman Ansari Date: Wed, 3 Aug 2022 14:25:53 +0530 Subject: [PATCH 4/4] update index.js --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 3030cf4..44fedd4 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,7 @@ import express from "express"; import dotenv from "dotenv"; import indexRoute from "./routes/index.js"; -import SendResumeBot from "./utils/SendaResumebot.js"; +import SendResumeBot from "./utils/SendResumebot.js"; import rateLimit from "express-rate-limit"; dotenv.config();