কম্পিউটার

পাইথন ব্যবহার করে আপনার জিমেইল অ্যাকাউন্ট থেকে সংযুক্তি সহ মেল পাঠান


এই নিবন্ধে, আমরা দেখব কিভাবে আমরা পাইথন ব্যবহার করে সংযুক্তি সহ ইমেল পাঠাতে পারি। মেইল পাঠাতে, আমাদের কোন বহিরাগত লাইব্রেরির প্রয়োজন নেই। SMTPlib নামে একটি মডিউল আছে, যা পাইথনের সাথে আসে। এটি মেইল ​​পাঠানোর জন্য SMTP (সিম্পল মেল ট্রান্সফার প্রোটোকল) ব্যবহার করে। এটি মেল করার জন্য SMTP ক্লায়েন্ট সেশন অবজেক্ট তৈরি করে।

SMTP-এর বৈধ উৎস এবং গন্তব্য ইমেল আইডি এবং পোর্ট নম্বর প্রয়োজন। পোর্ট নম্বর বিভিন্ন সাইটের জন্য পরিবর্তিত হয়। উদাহরণ হিসেবে, গুগলের জন্য পোর্ট হল 587 .

প্রথমে আমাদের মেইল ​​পাঠানোর জন্য মডিউল আমদানি করতে হবে।

import smtplib

এটিকে আরও নমনীয় করতে এখানে আমরা MIME (মাল্টিপারপাস ইন্টারনেট মেল এক্সটেনশন) মডিউল ব্যবহার করছি। MIME হেডার ব্যবহার করে, আমরা প্রেরক এবং প্রাপকের তথ্য এবং কিছু অন্যান্য বিবরণ সংরক্ষণ করতে পারি। মেইলের সাথে সংযুক্তি সেট করার জন্যও MIME প্রয়োজন৷

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

অ্যাক্সেসের অনুমতি দেওয়ার জন্য, আমাদের Google অ্যাকাউন্টে 'কম নিরাপদ অ্যাপ অ্যাক্সেস' সেটিংস সেট করতে হবে। যদি দুই ধাপ যাচাইকরণ চালু থাকে, তাহলে আমরা কম নিরাপদ অ্যাক্সেস ব্যবহার করতে পারি না।

এই সেটআপটি সম্পূর্ণ করতে, Google এর অ্যাডমিন কনসোলে যান এবং কম নিরাপদ অ্যাপ সেটআপের জন্য অনুসন্ধান করুন৷

<কেন্দ্র> পাইথন ব্যবহার করে আপনার জিমেইল অ্যাকাউন্ট থেকে সংযুক্তি সহ মেল পাঠান

SMTP (smtplib) ব্যবহার করে সংযুক্তি সহ মেল পাঠানোর পদক্ষেপগুলি

  • MIME তৈরি করুন
  • MIME-এ প্রেরক, প্রাপকের ঠিকানা যোগ করুন
  • MIME-এ মেল শিরোনাম যোগ করুন
  • শরীরে MIME এ সংযুক্ত করুন
  • ফাইলটি বাইনারি মোড হিসাবে খুলুন, যা মেইলের সাথে সংযুক্ত হতে চলেছে
  • বাইট স্ট্রীম পড়ুন এবং base64 এনকোডিং স্কিম ব্যবহার করে সংযুক্তি এনকোড করুন৷
  • সংযুক্তিগুলির জন্য শিরোনাম যোগ করুন
  • সঠিক নিরাপত্তা বৈশিষ্ট্য সহ বৈধ পোর্ট নম্বর দিয়ে SMTP সেশন শুরু করুন।
  • সিস্টেমে লগইন করুন।
  • মেল পাঠান এবং প্রস্থান করুন

উদাহরণ কোড

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
mail_content = '''Hello,
This is a test mail.
In this mail we are sending some attachments.
The mail is sent using Python SMTP library.
Thank You
'''
#The mail addresses and password
sender_address = 'sender123@gmail.com'
sender_pass = 'xxxxxxxx'
receiver_address = 'receiver567@gmail.com'
#Setup the MIME
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.'
#The subject line
#The body and the attachments for the mail
message.attach(MIMEText(mail_content, 'plain'))
attach_file_name = 'TP_python_prev.pdf'
attach_file = open(attach_file_name, 'rb') # Open the file as binary mode
payload = MIMEBase('application', 'octate-stream')
payload.set_payload((attach_file).read())
encoders.encode_base64(payload) #encode the attachment
#add payload header with filename
payload.add_header('Content-Decomposition', 'attachment', filename=attach_file_name)
message.attach(payload)
#Create SMTP session for sending the mail
session = smtplib.SMTP('smtp.gmail.com', 587) #use gmail with port
session.starttls() #enable security
session.login(sender_address, sender_pass) #login with mail_id and password
text = message.as_string()
session.sendmail(sender_address, receiver_address, text)
session.quit()
print('Mail Sent')

আউটপুট

D:\Python TP\Python 450\linux>python 327.Send_Mail.py
Mail Sent

<কেন্দ্র> পাইথন ব্যবহার করে আপনার জিমেইল অ্যাকাউন্ট থেকে সংযুক্তি সহ মেল পাঠান
  1. কিভাবে আপনার জিমেইল অ্যাকাউন্ট থেকে আপনার Hotmail ইমেলগুলি অ্যাক্সেস করবেন?

  2. কিভাবে আপনার Vue.js অ্যাপ্লিকেশন থেকে EmailJS এর ​​মাধ্যমে ইমেল পাঠাবেন

  3. ফিক্স:Gmail বার্তা বিতরণ করা হয়নি৷ আপনি এটি একটি ভিন্ন ঠিকানা বা উপনাম থেকে পাঠাচ্ছেন বৈশিষ্ট্য হিসাবে মেল পাঠান (সমাধান)

  4. কিভাবে আপনার Gmail অ্যাকাউন্ট মুছবেন