পাইথনে কীভাবে স্বয়ংক্রিয় ইমেল বার্তা প্রেরণ করবেন

পাইথনে কীভাবে স্বয়ংক্রিয় ইমেল বার্তা প্রেরণ করবেন

যদিও বাণিজ্যিক ইমেল ক্লায়েন্টরা ব্যবহারকারী বান্ধব GUI এর সুবিধা প্রদান করে, তাদের অনেক সময় নমনীয়তা এবং কাস্টমাইজিবিলিটির অভাব থাকে যা অনেক ডেভেলপার বা বিষয়বস্তু নির্মাতারা তাদের ইমেইলিং প্রয়োজনের জন্য চান।





আপনার সোশ্যাল মিডিয়া চ্যানেলে নতুন গ্রাহককে ধন্যবাদ ইমেল পাঠানোর জন্য অথবা আপনার সাম্প্রতিক প্রকল্পে ইমেল কার্যকারিতা যোগ করার জন্য, পাইথনে এসএমটিপি ব্যবহার করে স্বয়ংক্রিয় বার্তা পাঠানোর ক্ষমতা এমন কিছু যা হাতে আসতে বাধ্য।





আজ আপনার মেশিনে চলমান ইমেল পাঠানোর জন্য আপনি কিভাবে পাইথন স্ক্রিপ্ট পেতে পারেন তা জানতে পড়ুন।





SMTP কি?

সহজভাবে বলতে গেলে, এসএমটিপি, অথবা সিম্পল মেইল ​​ট্রান্সফার প্রোটোকল, মেল সার্ভারের জন্য ইন্টারনেটের মাধ্যমে ইমেল প্রেরণের জন্য একটি যোগাযোগ প্রোটোকল।

এটি টিসিপি/আইপি স্যুটের অ্যাপ্লিকেশন স্তরের একটি অবিচ্ছেদ্য অংশ, যা ইন্টারনেট বা অন্যান্য অনুরূপ নেটওয়ার্কের মাধ্যমে যোগাযোগের জন্য ব্যবহৃত প্রোটোকলের একটি সেট। একটি নেটওয়ার্ক যেখানে SMTP প্রয়োগ করা হয়, একটি প্রক্রিয়া হিসাবে পরিচিত রাখো এবং পাঠাও নেটওয়ার্ক জুড়ে মেল সরাতে সাহায্য করে।



প্রতিটি এন্ডপয়েন্টে, মেইল ​​ট্রান্সফার এজেন্ট (এমটিএ) নামে পরিচিত সফটওয়্যার অংশগ্রহণকারী এসএমটিপি সার্ভারের মধ্যে যোগাযোগের সুবিধার্থে স্টোর এবং ফরওয়ার্ড ব্যবহার করে। SMTP এর প্রধান ভূমিকা, তাই, কেবলমাত্র একটি নেটওয়ার্কে মেইল ​​এক বিন্দু থেকে অন্য বিন্দুতে কোথায় এবং কিভাবে যায় তা নির্ধারণ করা।

শুরু হচ্ছে

এই প্রোগ্রামটি ব্যবহার করে ইমেল পাঠানোর জন্য আপনার একটি ইমেল অ্যাকাউন্ট থাকা দরকার। এর কারণ হল আমরা ইমেল পাঠানোর জন্য ইমেল ক্লায়েন্টের SMTP পরিষেবা ব্যবহার করব। এই টিউটোরিয়ালের জন্য, আমরা Gmail ব্যবহার করব।





আপনি পরীক্ষার ইমেল পাঠানোর জন্য একটি স্থানীয় SMTP ডিবাগিং সার্ভারও ব্যবহার করতে পারেন, কিন্তু আপাতত আমরা ইমেল পাঠাতে একটি ইমেল অ্যাকাউন্ট ব্যবহার করব কারণ এটি আরও স্বজ্ঞাত।

কেবলমাত্র একটি বিদ্যমান জিমেইল অ্যাকাউন্ট ব্যবহার করা সম্ভব, কিন্তু আপনি যখন আপনার প্রোগ্রামের সাথে খেলছেন, এটি শীঘ্রই পরীক্ষার ইমেইলে ভরে যেতে পারে। এ কারণেই আমরা পরীক্ষার উদ্দেশ্যে একটি 'নিক্ষেপকারী' অ্যাকাউন্ট তৈরি করার সুপারিশ করি।





এখন, বিকল্পটি চালু করুন কম নিরাপদ অ্যাপের অনুমতি দিন আপনার জিমেইল অ্যাকাউন্ট অ্যাক্সেস করতে। এটি একটি নিক্ষেপ করা ইমেল ব্যবহার করার আরেকটি কারণ কারণ এটি আপনার প্রাথমিক ইমেলের গোপনীয়তা সেটিংসের সাথে খেলতে বাঞ্ছনীয় নয়।

পাইথনে ইমেইল লেখা

পাইথন 3 এসএমটিপিএলিব (এসএমটিপি লাইব্রেরির জন্য সংক্ষিপ্ত) নামে একটি মডিউল দিয়ে প্রাক-ইনস্টল করা হয়, যা এসএমটিপি সার্ভারগুলির সাথে কাজ করতে ব্যবহার করা যেতে পারে।

অন্য যেকোনো পাইথন মডিউলের মত, আপনাকে প্রথমে যে কাজটি করতে হবে তা হল smtplib আমদানি করা।

import smtplib

একটি SMTP অবজেক্ট শুরু করা

এখন, আপনি একটি SMTP বস্তু তৈরি করতে smtplib ব্যবহার করতে পারেন, যা আপনাকে প্রচলিত ইমেইল ক্লায়েন্টের কার্যকারিতা প্রদান করবে। যাইহোক, একটি SMTP বস্তুর ফাংশন শুধুমাত্র উদাহরণ পদ্ধতির মাধ্যমে ব্যবহার করা যেতে পারে। সুতরাং, স্বাভাবিকভাবেই, পরবর্তী ধাপ হল একটি বস্তুর দৃষ্টান্ত ঘোষণা করা।

mySMTP = smtplib.SMTP('smtp.google.com')

এটি গুগলের এসএমটিপি সার্ভার ব্যবহার করে ইমেল পাঠানোর জন্য এসএমটিপি অবজেক্ট কনফিগার করে।

এর পরে, আমরা প্রেরক এবং প্রাপকের ইমেলগুলি নির্দিষ্ট করি। এখানে আপনি আগে তৈরি করা জিমেইল অ্যাকাউন্টটি কাজে আসে।

emailSender = senderMail@sender.com
myThroaway = 'myEmail@gmail.com'
emailRecipients = [myThroaway]

এখানে একটি বিষয় লক্ষণীয় যে প্রাপকের তালিকা আসলে একটি অ্যারে, যার অর্থ এটি অ-পারমাণবিক মান সংরক্ষণের জন্য ডিজাইন করা হয়েছে। ফলস্বরূপ, আপনি এই ক্ষেত্রে একটি সম্পূর্ণ মেইলিং তালিকা নির্দিষ্ট করতে পারেন!

বার্তা লেখা

যুক্তিযুক্তভাবে প্রক্রিয়ার সবচেয়ে সহজবোধ্য অংশ, এখানে আপনাকে একটি নতুন ইমেইল রচনা করার সময় স্বাভাবিকভাবে যোগ করা মানগুলি ইনপুট করতে হবে। এটা অন্তর্ভুক্ত:

  • প্রেরকের বিবরণ
  • প্রাপকের বিবরণ
  • বিষয়
  • বার্তাংশ

এই ক্ষেত্রগুলি ট্রিপল-উদ্ধৃতি চিহ্নের ভিতরে একত্রিত করা হয় এবং নিম্নরূপ সীমাবদ্ধ করা হয়:

ফেসবুক হ্যাক হলে কি করবেন
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''

ইমেইল পাঠানো হচ্ছে

পরিশেষে, আমরা আপনার SMTP সার্ভার থেকে প্রাপকের সার্ভারে মেইল ​​পাঠানোর জন্য সেন্ডমেইল কমান্ড ব্যবহার করতে পারি।

mySMTP.sendmail(emailSender, emailRecipients, newEmail)

এখন, কেবল একটি চূড়ান্ত পদক্ষেপ: যে কোনও পূর্ববর্তী প্রোগ্রাম ক্র্যাশ রোধ করতে কোডটি পুনরায় সংগঠিত করা।

আপনার পাইথন ইমেল প্রোগ্রামের সমস্যা সমাধান

কখনও কখনও, আপনার SMTP সার্ভার প্রাপকের সাথে একটি সংযোগ স্থাপন করতে ব্যর্থ হতে পারে, অথবা একটি SMTP পোর্ট থেকে অন্য একটি ইমেল পাঠাতে সমস্যা হতে পারে। এই ধরনের ইভেন্টে, আপনার প্রোগ্রাম অপ্রত্যাশিতভাবে ক্র্যাশ হতে পারে।

এই ধরনের সম্ভাবনার হিসাব করার জন্য, আপনি a ব্যবহার করতে পারেন চেষ্টা ছাড়া ব্লক করুন এবং এর মধ্যে ত্রুটি-প্রবণ বিবৃতি রাখুন চেষ্টা করুন ব্লক আপনার পুরো প্রোগ্রাম, ট্রাই-ব্যতীত ব্লক সহ, এরকম কিছু দেখতে হবে:

import smtplib
emailSender = senderMail@sender.com
myThroaway = ‘my_email@gmail.com’
emailRecipients = [myThroaway]
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
smtpObj = smtplib.SMTP(‘smtp.gmail.com’)
mySMTP.sendmail(emailSender, emailRecipients, newEmail)
print (Email sent successfully!)
except SMTPException:
print ('Error: There was an error in sending your email.')

আপনার ইমেইল সুরক্ষিত করা

আপনি যদি ইমেইল পাঠানোর জন্য একটি বাস্তব-বিশ্বের সেটিংসে পাইথন ব্যবহার করতে চান, তাহলে যোগাযোগ নিশ্চিত করা গুরুত্বপূর্ণ যে উভয় প্রান্তে যোগাযোগ নিরাপদ।

ডিফল্ট পোর্টের সাথে একটি সাধারণ SMTP সার্ভার ব্যবহার করা যোগাযোগে কোন এনক্রিপশন স্তর প্রদান করে না। এর মানে হল যে যদি কোন তৃতীয় পক্ষ আপনার নেটওয়ার্কে শুনতে থাকে, তাহলে এটি আপনার লগইন শংসাপত্র এবং আপনার ইমেইলে থাকা তথ্য অ্যাক্সেস করতে পারে।

এই সমস্যা থেকে বাঁচার একটি উপায় হল আপনার যোগাযোগ এনক্রিপ্ট করার জন্য TLS (পরিবহন স্তর নিরাপত্তা) প্রোটোকল ব্যবহার করা। জিমেইল এবং আউটলুকের মতো প্রধান ইমেইল ক্লায়েন্টরাও একই প্রোটোকল ব্যবহার করে যাতে আপনার ইমেইল কখনো ভুল হাতে না পড়ে।

এটি করার জন্য, আমাদের আগে তৈরি করা প্রোগ্রামে কয়েকটি ছোটখাটো পরিবর্তন করতে হবে।

প্রথম ধাপ, অবশ্যই, আমদানি করা ssl সঙ্গে লাইব্রেরি smtplib । দ্য ssl লাইব্রেরি আপনাকে একটি নিরাপদ SSL প্রসঙ্গ তৈরি এবং একটি এনক্রিপ্ট করা নেটওয়ার্কের মাধ্যমে উভয় প্রান্তের নির্দিষ্ট পোর্টের সাথে সংযোগ স্থাপনের ক্ষমতা প্রদান করে।

একটি নিরাপদ এসএসএল প্রসঙ্গ সাইফার, প্রোটোকল সংস্করণ, বিশ্বস্ত সার্টিফিকেট, টিএলএস অপশন এবং টিএলএস এক্সটেনশনের সংগ্রহ ছাড়া আর কিছুই নয়।

এটি অনুসরণ করে, আমরা TLS পোর্ট নির্দিষ্ট করতে পারি এবং কয়েকটি যোগ করতে পারি ssl একটি নিরাপদ ইমেল তৈরি করতে লাইব্রেরি ফাংশন।

কোড, সমস্ত পরিবর্তনের সাথে, এইরকম কিছু দেখায়:

import smtplib, ssl
smtpServer = 'smtp.gmail.com'
port = 587
myEmail = 'my_email@gmail.com'
password = 'my_password'
#email and password can also be user input fields
context = ssl.create_default_context()
newEmail = '''From: From Person
To: To Person
Subject: Email Test
This is the body of the email.
'''
try:
server = smtplib.SMTP(smtpServer,port)
server.starttls(context=context)
server.login(newEmail, password)
except Exception as e:
print('the email could not be sent.')
finally:
server.quit()

পূর্বের মতো, আপনি যেকোনো আকস্মিক প্রোগ্রাম ক্র্যাশ রোধ করার জন্য একটি চেষ্টা ছাড়া ব্লকে SMTP উদাহরণ তৈরি এবং ব্যবহার করা উচিত।

আপনি কি PS5 থেকে PS4 প্লে করতে পারেন?

এই পাইথন স্ক্রিপ্ট দিয়ে আপনি কি করতে পারেন

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

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

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

কোড দিয়ে শীতল জিনিস তৈরি করা অব্যাহত রাখতে, কিভাবে আমাদের গাইড দেখুন পাইথন 3 দিয়ে আপনার নিজের টেলিগ্রাম বট তৈরি করুন !

শেয়ার করুন শেয়ার করুন টুইট ইমেইল কেরাস, পাইটর্চ, টেনসরফ্লো এবং আরও অনেক কিছু দিয়ে কীভাবে আপনার পাইথন এবং এআই দক্ষতা আপগ্রেড করবেন

পাইথন, কৃত্রিম বুদ্ধিমত্তা, কেরাস, পাইটর্চ এবং আরও অনেক কিছুতে আপনার প্রোগ্রামিং এবং ওয়েব ডেভেলপমেন্ট দক্ষতা আপগ্রেড করুন

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • জিমেইল
  • ইমেইল টিপস
  • পাইথন
  • টাস্ক অটোমেশন
লেখক সম্পর্কে যশ চেলানি(10 নিবন্ধ প্রকাশিত)

যশ একজন উচ্চাকাঙ্ক্ষী কম্পিউটার বিজ্ঞানের ছাত্র, যিনি জিনিসগুলি তৈরি করতে এবং প্রযুক্তি বিষয়ক সব বিষয়ে লিখতে ভালোবাসেন। তার অবসর সময়ে, তিনি স্কোয়াশ খেলতে, সর্বশেষ মুরাকামির একটি অনুলিপি পড়তে এবং স্কাইরিমে ড্রাগন শিকার করতে পছন্দ করেন।

Yash Chellani থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন