diff --git a/backend/app/routes/broadcast/@validationSchema/index.js b/backend/app/routes/broadcast/@validationSchema/index.js
index 934ef07f..45962dad 100644
--- a/backend/app/routes/broadcast/@validationSchema/index.js
+++ b/backend/app/routes/broadcast/@validationSchema/index.js
@@ -20,7 +20,8 @@ const updateBroadcastValidationSchema = Joi.object().keys({
   imageUrl: Joi.array().min(1).items(Joi.string().uri()),
   tags: Joi.array().min(1).items(Joi.string()),
   isApproved: Joi.boolean().required(),
-  id : Joi.string().min(24).max(24).required()
+  id : Joi.string().min(24).max(24).required(),
+  approving:Joi.boolean()
 });
 
 const getBroadcastsValidationSchema = Joi.object().keys({
diff --git a/backend/app/routes/broadcast/updateBroadcast.js b/backend/app/routes/broadcast/updateBroadcast.js
index be508474..ba3e6b83 100644
--- a/backend/app/routes/broadcast/updateBroadcast.js
+++ b/backend/app/routes/broadcast/updateBroadcast.js
@@ -1,12 +1,16 @@
 const to = require('await-to-js').default;
 const Broadcast = require('../../models/Broadcast');
+const Subscribers = require('../../models/Subscriber');
 const { ErrorHandler } = require('../../../helpers/error');
 const constants = require('../../../constants');
+const nodemailer = require('nodemailer')
+const config = require('../../../config')
+const { broadcastPublishMailTemplate } = require('../../../utility/emailTemplates')
 
-module.exports  = async (req, res, next) => {
-    if(Object.keys(req.body).length <= 1) {
+module.exports = async (req, res, next) => {
+    if (Object.keys(req.body).length <= 1) {
         return res.status(200).send({
-            message : "Not Sufficient Data"
+            message: "Not Sufficient Data"
         })
     }
 
@@ -15,11 +19,13 @@ module.exports  = async (req, res, next) => {
     };
 
     delete data.id;
+    let approving = data?.approving
+    delete data?.approving
 
-    const [err, result] = await to(Broadcast.findOneAndUpdate({ _id : req.body.id }, { $set : data }));
+    const [err, result] = await to(Broadcast.findOneAndUpdate({ _id: req.body.id }, { $set: data }));
 
     // error occured due to the some problem
-    if(err) {
+    if (err) {
         const error = new ErrorHandler(constants.ERRORS.DATABASE, {
             statusCode: 500,
             message: 'Database Error',
@@ -28,9 +34,9 @@ module.exports  = async (req, res, next) => {
 
         return next(error);
     }
-    
+
     // if result is null that means broadcast with given id is not exist in collection
-    if(result === null) {
+    if (result === null) {
         const broadcastNotExistsError = new ErrorHandler(constants.ERRORS.INPUT, {
             statusCode: 400,
             message: 'Broadcast Not Exist...',
@@ -38,11 +44,55 @@ module.exports  = async (req, res, next) => {
 
         return next(broadcastNotExistsError);
     }
-    
-        // success response
-        res.status(200).send({
-            message : "Broadcast Updated..."
+    var subscribers;
+    if (approving && data?.isApproved == true) {
+        const transporter = nodemailer.createTransport({
+            type: 'SMTP',
+            host: config.EMAIL_HOST,
+            secure: true,
+            debug: true,
+            port: 465,
+            auth: {
+                user: config.EMAIL_USER,
+                pass: config.EMAIL_PASS,
+            },
+        });
+        subscribers = await Subscribers.find();
+        subscribers = subscribers.map((subscriber) => { return subscriber?.email })
+
+        const mailOptions = {
+            from: `HITK TECH Community <${config.EMAIL_USER}>`,
+            to: "hitktechcommunity@gmail.com",
+            subject: `New Broadcast: ${data?.title} 😍`,
+            html: broadcastPublishMailTemplate(data),
+            bcc: subscribers,
+            attachments: data?.imageUrl.map((image, index) => {
+                return {
+                    filename: `${data?.title}${index+1}`,
+                    path: image
+                }
+            })
+        };
+        await transporter.sendMail(mailOptions).catch((err) => {
+            if (err) {
+                const error = new ErrorHandler(constants.ERRORS.UNEXPECTED, {
+                    statusCode: 500,
+                    message: 'The server encountered an unexpected condition which prevented it from fulfilling the request.',
+                    errStack: err,
+                    user: req.body.email,
+                });
+                throw error;
+            }
         });
-    
-        return next();
+    }
+
+
+
+
+    // success response
+    res.status(200).send({
+        message: "Broadcast Updated...",
+    });
+
+    return next();
 }
\ No newline at end of file
diff --git a/backend/utility/emailTemplates.js b/backend/utility/emailTemplates.js
index 118e8382..6c7c4118 100644
--- a/backend/utility/emailTemplates.js
+++ b/backend/utility/emailTemplates.js
@@ -119,4 +119,22 @@ module.exports.welcomeSubscriberMailTemplate=()=>{
     The HITK Tech Community Team
   `
   return emailContent
+}
+
+module.exports.broadcastPublishMailTemplate=(data)=>{
+  const emailContent=`
+    <h2>Hello there</h2>
+    <h3>${data?.title}</h3>
+    ${data?.content}
+    <a href="${data?.link}" target="_blank">Click here</a>
+    <br/>
+    For more resource <a href="https://hitk-tech-community.netlify.app/broadcasts" target="_blank">See all broadcasts</a>
+    <br/>
+    <br/>
+    Best regards<br/>
+    <span style="font-weight:bold;">The HITK Tech Community</span>
+
+  `;
+
+  return emailContent;
 }
\ No newline at end of file
diff --git a/frontend/src/pages/Admin/Components/Broadcast/ManageBroadcasts/Card/Card.jsx b/frontend/src/pages/Admin/Components/Broadcast/ManageBroadcasts/Card/Card.jsx
index 6c1ebfc8..98d09f1d 100644
--- a/frontend/src/pages/Admin/Components/Broadcast/ManageBroadcasts/Card/Card.jsx
+++ b/frontend/src/pages/Admin/Components/Broadcast/ManageBroadcasts/Card/Card.jsx
@@ -60,6 +60,7 @@ export function Card(props) {
       tags: project.tags,
       isApproved: true,
       title: project.title,
+      approving: true,
     };
     const res = await UpdateBoardCast(data, setToast, toast);
     if (res) {
@@ -167,9 +168,9 @@ export function Card(props) {
             >
               View Details
             </button>
-          
+
             <div className={style["button-group"]}>
-            {!props?.project?.isApproved && (
+              {!props?.project?.isApproved && (
                 <button
                   className={style["button-approve"]}
                   onClick={handleApprove}