ফাইল যাচাইকরণ সহ অ্যাপস স্ক্রিপ্টে ইমেল ফরওয়ার্ডিং

Google Apps Script

অ্যাপস স্ক্রিপ্ট সহ ইমেল অটোমেশন

Google Apps স্ক্রিপ্টে স্বয়ংক্রিয় ইমেল ফরওয়ার্ডিং যোগাযোগ এবং ডেটা স্থানান্তর প্রক্রিয়াগুলিকে উল্লেখযোগ্যভাবে প্রবাহিত করতে পারে। Gmail-এ নির্দিষ্ট লেবেলগুলির সাথে কাজ করার সময় এটি বিশেষভাবে উপকারী, যেখানে ইমেলগুলিকে ম্যানুয়াল হস্তক্ষেপ ছাড়াই বহিরাগত অ্যাপ্লিকেশনগুলিতে ফরোয়ার্ড করা প্রয়োজন৷ একটি সাধারণ সমস্যা দেখা দেয় অবাঞ্ছিত ইনলাইন ছবি, যেমন স্বাক্ষর এবং শিরোনাম, এই ফরোয়ার্ডগুলিতে অন্তর্ভুক্ত করা হয়েছে৷

এই সমস্যাটি কেবল ফরোয়ার্ড করা বার্তাগুলিকে বিশৃঙ্খল করে না বরং এটি একটি চ্যালেঞ্জও তৈরি করে যখন প্রয়োজন শুধুমাত্র পিডিএফ ফাইলগুলির মতো সংযুক্তিগুলিকে ফরোয়ার্ড করা। এই ধরনের পরিস্থিতিতে, ইমেল থ্রেডের প্রসঙ্গ বজায় রেখে সংযুক্তিগুলিকে বেছে বেছে ফরওয়ার্ড করতে স্ক্রিপ্টটি পরিবর্তন করা অপরিহার্য হয়ে ওঠে। নিম্নলিখিত নিবন্ধটি অটোমেশনের কার্যকারিতা বৃদ্ধি করে শুধুমাত্র প্রয়োজনীয় ফাইল ফরোয়ার্ড করা নিশ্চিত করার জন্য একটি সমাধান অন্বেষণ করবে।

আদেশ বর্ণনা
GmailApp.getUserLabelByName() নামের দ্বারা ব্যবহারকারীর Gmail অ্যাকাউন্ট থেকে একটি লেবেল পুনরুদ্ধার করে, স্ক্রিপ্টগুলিকে নির্দিষ্ট লেবেলের অধীনে শ্রেণীবদ্ধ করা ইমেলের সাথে কাজ করার অনুমতি দেয়।
getThreads() একটি লেবেলের মধ্যে থ্রেড অবজেক্টের একটি অ্যারে প্রদান করে, যা একটি Gmail লেবেলের অধীনে থাকা প্রতিটি ইমেল কথোপকথন প্রক্রিয়া করতে ব্যবহৃত হয়।
getMessages() প্রতিটি ইমেলের বিষয়বস্তু এবং মেটাডেটাতে বিস্তারিত অ্যাক্সেস সক্ষম করে, একটি একক থ্রেডে থাকা সমস্ত ইমেল বার্তাগুলিকে আনয়ন করে৷
getAttachments() একটি ইমেল বার্তা থেকে সমস্ত সংযুক্তি বের করে, যা শুধুমাত্র পছন্দসই ফাইলের ধরন ফরোয়ার্ড করতে ফিল্টার করা যেতে পারে।
GmailApp.sendEmail() ব্যবহারকারীর Gmail অ্যাকাউন্ট থেকে একটি ইমেল পাঠায়। এটি সংযুক্তি, CC, BCC, এবং HTML সামগ্রীর মতো উন্নত বিকল্পগুলিকে সমর্থন করে৷
filter() একটি অ্যারের প্রতিটি উপাদানে একটি পরীক্ষা প্রয়োগ করতে ব্যবহৃত হয়। এই প্রেক্ষাপটে, এটি শুধুমাত্র পিডিএফ কন্টেন্ট টাইপ সহ তাদের খুঁজে পেতে অ্যাটাচমেন্ট ফিল্টার করে।

Google Apps স্ক্রিপ্ট দিয়ে ইমেল ফরওয়ার্ডিং উন্নত করা

প্রদত্ত Google Apps স্ক্রিপ্ট উদাহরণগুলি নির্দিষ্ট মানদণ্ড পূরণ করে এমন ইমেলগুলিকে ফিল্টারিং এবং ফরওয়ার্ড করার নির্দিষ্ট প্রয়োজনীয়তাকে মোকাবেলা করার জন্য ডিজাইন করা হয়েছে, এই ক্ষেত্রে, শুধুমাত্র পিডিএফ সংযুক্তিগুলি ফরোয়ার্ড করা এবং স্বাক্ষর বা শিরোনামের মতো ইনলাইন চিত্রগুলি বাদ দেওয়া৷ স্ক্রিপ্টের প্রথম অংশটি পূর্বনির্ধারিত Gmail লেবেলের সাথে যুক্ত সমস্ত ইমেল থ্রেড পুনরুদ্ধার করে শুরু হয়। এটি `GmailApp.getUserLabelByName()` কমান্ড ব্যবহার করে করা হয়, যা লেবেল অবজেক্ট আনয়ন করে যা স্ক্রিপ্টটিকে সমস্ত সংশ্লিষ্ট ইমেল থ্রেডে কাজ করার অনুমতি দেয়। তারপর, এটি পৃথক বার্তা অ্যাক্সেস করতে এই থ্রেডগুলির উপর পুনরাবৃত্তি করে।

প্রতিটি বার্তাকে `getAttachments()` পদ্ধতি ব্যবহার করে সংযুক্তি সনাক্ত করতে এবং ফিল্টার করার জন্য পরিদর্শন করা হয় একটি ফিল্টার ফাংশনের সাথে মিলিত যা MIME প্রকার পরীক্ষা করে, নিশ্চিত করে যে শুধুমাত্র PDF ফাইলগুলি অন্তর্ভুক্ত রয়েছে। `GmailApp.sendEmail()` ফাংশন তারপর এই ফিল্টার করা সংযুক্তি ফরওয়ার্ড করতে ব্যবহার করা হয়। এই ফাংশনটি অত্যন্ত গুরুত্বপূর্ণ কারণ এটি ফাইল সংযুক্ত করার সময় এবং ইমেল থ্রেডের ধারাবাহিকতা বজায় রাখার জন্য এইচটিএমএল বডি কন্টেন্ট এবং থ্রেড আইডির মতো উন্নত প্যারামিটার নির্দিষ্ট করার সময় প্রোগ্রাম্যাটিকভাবে ইমেল পাঠানোর অনুমতি দেয়। এটি নিশ্চিত করে যে ফরোয়ার্ড করা ইমেলগুলি চলমান কথোপকথনের অংশ থাকবে, ইমেলগুলিকে থ্রেডেড রাখার এবং শুধুমাত্র প্রাসঙ্গিক সংযুক্তিতে ফোকাস করার জন্য ব্যবহারকারীর প্রয়োজনীয়তা পূরণ করে।

Apps স্ক্রিপ্টে ফিল্টার ফিল্টার করার জন্য ইমেল ফরওয়ার্ডিং পরিমার্জন

Google Apps স্ক্রিপ্ট বাস্তবায়ন

function filterAndForwardEmails() {
  var label = GmailApp.getUserLabelByName("ToBeForwarded");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    var messages = threads[i].getMessages();
    var lastMessage = messages[messages.length - 1];
    var attachments = lastMessage.getAttachments();
    var filteredAttachments = attachments.filter(function(attachment) {
      return attachment.getContentType() === 'application/pdf';
    });
    if (filteredAttachments.length > 0) {
      forwardMessage(lastMessage, filteredAttachments);
    }
  }
}
function forwardMessage(message, attachments) {
  GmailApp.sendEmail(message.getTo(), message.getSubject(), "", {
    attachments: attachments,
    htmlBody: "<br> Message sent to external app <br>",
    inlineImages: {},
    threadId: message.getThread().getId()
  });
}

অ্যাপস স্ক্রিপ্ট ব্যবহার করে ইমেল ফরওয়ার্ডিং প্রক্রিয়ায় ইনলাইন ছবি বাদ দেওয়া

Google Apps স্ক্রিপ্টে স্ক্রিপ্টিং

function setupEmailForwarding() {
  var targetLabel = "ExternalForward";
  var threadsToForward = GmailApp.getUserLabelByName(targetLabel).getThreads();
  threadsToForward.forEach(function(thread) {
    var message = thread.getMessages().pop(); // get the last message
    var pdfAttachments = message.getAttachments().filter(function(file) {
      return file.getContentType() === 'application/pdf';
    });
    if (pdfAttachments.length) {
      sendFilteredEmail(message, pdfAttachments);
    }
  });
}
function sendFilteredEmail(originalMessage, attachments) {
  GmailApp.sendEmail(originalMessage.getTo(), "FWD: " + originalMessage.getSubject(),
    "Forwarded message attached.", {
      attachments: attachments,
      htmlBody: originalMessage.getBody() + "<br> Forwarded with selected attachments only.<br>",
      threadId: originalMessage.getThread().getId()
  });
}

অ্যাপস স্ক্রিপ্টে ইমেল পরিচালনার জন্য উন্নত কৌশল

Google Apps স্ক্রিপ্টে স্বয়ংক্রিয় ইমেল ফরওয়ার্ডিং নিয়ে কাজ করার সময়, ইমেল পরিচালনার বিস্তৃত প্রেক্ষাপট বোঝা অত্যন্ত গুরুত্বপূর্ণ হতে পারে। একটি গুরুত্বপূর্ণ দিক হল MIME প্রকারের মধ্যে পার্থক্য, যা ইনলাইন ইমেজ থেকে পিডিএফের মতো নির্দিষ্ট ফাইল ফিল্টার করতে সাহায্য করে। এই পার্থক্যটি কার্যকরী ফিল্টারগুলিকে স্ক্রিপ্ট করার মূল চাবিকাঠি যা অপ্রয়োজনীয় সংযুক্তিগুলি বাদ দেয়৷ আরেকটি উন্নত কৌশলের মধ্যে যোগাযোগ সুসংগত এবং সংযুক্ত রাখতে ইমেল থ্রেডগুলিকে ম্যানিপুলেট করা জড়িত, যা ব্যবসায়িক পরিবেশে সংগঠিত ইমেল ট্রেলগুলি বজায় রাখার জন্য গুরুত্বপূর্ণ।

তদ্ব্যতীত, ইমেল অটোমেশনের জন্য Google Apps স্ক্রিপ্ট ব্যবহার করে এমন কাস্টম আচরণের অনুমতি দেয় যা সাধারণ ফরোয়ার্ডিংয়ের বাইরে যায়। উদাহরণস্বরূপ, স্ক্রিপ্টগুলিকে স্বয়ংক্রিয়ভাবে ইমেলগুলিতে প্রতিক্রিয়া জানাতে, সংযুক্তির সারাংশ প্রতিবেদন তৈরি করতে বা এমনকি ইমেলগুলিকে তাদের বিষয়বস্তু বা সংযুক্তির প্রকারের উপর ভিত্তি করে বিভিন্ন লেবেলে সংগঠিত করার জন্য ডিজাইন করা যেতে পারে। এই ধরনের ক্ষমতাগুলি ইমেলগুলি পরিচালনা করার ক্ষেত্রে উত্পাদনশীলতা এবং কর্মপ্রবাহের দক্ষতা বাড়ানোর জন্য Google Apps স্ক্রিপ্টকে একটি শক্তিশালী হাতিয়ার করে তোলে৷

  1. ইমেল অটোমেশনের জন্য আমি কীভাবে Google Apps স্ক্রিপ্ট ব্যবহার শুরু করব?
  2. আপনি Google ড্রাইভের মাধ্যমে অ্যাপস স্ক্রিপ্ট পরিবেশে অ্যাক্সেস করে, একটি নতুন স্ক্রিপ্ট তৈরি করে এবং ইমেল ইন্টারঅ্যাকশন প্রোগ্রাম করতে GmailApp পরিষেবা ব্যবহার করে শুরু করতে পারেন।
  3. MIME প্রকার কি এবং কেন এটি গুরুত্বপূর্ণ?
  4. MIME প্রকার, বা মিডিয়া টাইপ, একটি মান যা একটি নথি, ফাইল, বা বাইটের ভাণ্ডার প্রকৃতি এবং বিন্যাস নির্দেশ করে। বিভিন্ন ধরনের ফাইলের সঠিক হ্যান্ডলিং নিশ্চিত করার জন্য ইমেল প্রক্রিয়াকরণের জন্য এটি অত্যন্ত গুরুত্বপূর্ণ।
  5. আমি কি অ্যাপস স্ক্রিপ্টে সংযুক্তির ধরন দ্বারা ইমেলগুলি ফিল্টার করতে পারি?
  6. হ্যাঁ, আপনি প্রতিটি সংযুক্তির MIME প্রকার চেক করতে ফিল্টার সহ getAttachments() পদ্ধতি ব্যবহার করতে পারেন এবং সেই অনুযায়ী তাদের প্রক্রিয়া করতে পারেন।
  7. আমি কিভাবে একই থ্রেডে ফরোয়ার্ড করা ইমেল রাখতে পারি?
  8. একই কথোপকথনের মধ্যে ফরোয়ার্ড করা বার্তাটি রেখে আসল ইমেল থ্রেড নির্দিষ্ট করতে GmailApp.sendEmail()-এ threadId বিকল্পটি ব্যবহার করুন।
  9. অ্যাপস স্ক্রিপ্ট কি প্রকারের উপর ভিত্তি করে ভিন্নভাবে একাধিক সংযুক্তি পরিচালনা করতে পারে?
  10. হ্যাঁ, আপনি স্ক্রিপ্টটিকে তাদের MIME প্রকারের দ্বারা সংযুক্তিগুলিকে আলাদা করার জন্য ডিজাইন করতে পারেন এবং প্রতিটি প্রকারকে আলাদাভাবে পরিচালনা করতে পারেন, যেমন শুধুমাত্র PDF ফরওয়ার্ড করা এবং অন্যকে উপেক্ষা করা।

Google Apps স্ক্রিপ্ট ব্যবহারের মাধ্যমে, ব্যবহারকারীরা জটিল ইমেল হ্যান্ডলিং কাজগুলিকে স্বয়ংক্রিয়ভাবে করতে পারে, বিশেষত পিডিএফ ফাইলগুলির মতো শুধুমাত্র প্রয়োজনীয় সংযুক্তিগুলিকে অন্তর্ভুক্ত করার জন্য ফরওয়ার্ডিং প্রক্রিয়াটিকে টেলরিং করে৷ এই লক্ষ্যযুক্ত পদ্ধতিটি শুধুমাত্র সংস্থার ভিতরে এবং বাইরে যোগাযোগকে স্ট্রীমলাইন করে না বরং ইমেল পরিচালনার সাথে জড়িত ম্যানুয়াল প্রচেষ্টাকে উল্লেখযোগ্যভাবে হ্রাস করে। অধিকন্তু, কথোপকথনের থ্রেডগুলি অক্ষত রাখার ক্ষমতা ফরোয়ার্ড করা বার্তাগুলির প্রাসঙ্গিক বোঝার উন্নতি করে, যা পেশাদার যোগাযোগের ধারাবাহিকতা বজায় রাখার জন্য অত্যন্ত গুরুত্বপূর্ণ।