IMAP, POP3 এবং SMTP-এর জন্য ওপেন সোর্স .NET লাইব্রেরি

সংযুক্তি সহ বার্তা তৈরি করার জন্য বিনামূল্যে C# .NET লাইব্রেরি, PGP/MIME এর সাথে বার্তাগুলি এনক্রিপ্ট/ডিক্রিপ্ট করুন। 

MailKit হল IMAP, POP3, এবং SMTP-এর জন্য একটি ওপেন সোর্স .NET লাইব্রেরি। এটি একটি ক্রস-প্ল্যাটফর্ম মেল ক্লায়েন্ট লাইব্রেরি যা MimeKit-এর উপরে নির্মিত। প্রকল্পটির লক্ষ্য একটি শক্তিশালী, সম্পূর্ণ বৈশিষ্ট্যযুক্ত, এবং RFC-সঙ্গী SMTP, POP3, এবং IMAP ক্লায়েন্ট বাস্তবায়ন প্রদান করা।

API SASL প্রমাণীকরণ, প্রক্সি সমর্থন, SMTP ক্লায়েন্ট, POP3 ক্লায়েন্ট, IMAP4 ক্লায়েন্ট, ক্লায়েন্ট-সাইড বাছাই এবং বার্তাগুলির থ্রেডিং সম্পর্কিত বেশ কয়েকটি গুরুত্বপূর্ণ বৈশিষ্ট্য সমর্থন করে।

Previous Next

MailKit দিয়ে শুরু করা

MailKit ইনস্টল করার সবচেয়ে সহজ উপায় হল NuGet এর মাধ্যমে। ভিজ্যুয়াল স্টুডিওর প্যাকেজ ম্যানেজার কনসোল থেকে এটি ব্যবহার করতে, অনুগ্রহ করে নিম্নলিখিত কমান্ডটি প্রবেশ করান।

NuGet এর মাধ্যমে Mailkit ইনস্টল করুন

Install-Package MailKit  

GitHub এর মাধ্যমে Mailkit ইনস্টল করুন 

git clone --recursive https://github.com/jstedfast/MailKit.git 

.NET এর মাধ্যমে নতুন বার্তা তৈরি করুন

ওপেন সোর্স API MailKit লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের কিছু সাধারণ কমান্ডের সাহায্যে MIME বার্তা তৈরি করতে সক্ষম করে। একটি TextPart হল একটি টেক্সট মিডিয়া টাইপ সহ একটি লিফ-নোড MIME অংশ। TextPart কনস্ট্রাক্টরের প্রথম আর্গুমেন্ট মিডিয়া-সাবটাইপ নির্দিষ্ট করে, এই ক্ষেত্রে, প্লেইন। আরেকটি মিডিয়া সাবটাইপ যা আপনি সম্ভবত পরিচিত তা হল HTML সাবটাইপ। MIME অংশের স্ট্রিং বিষয়বস্তু উভয়ই পেতে এবং সেট করার সবচেয়ে সহজ উপায় হল পাঠ্য সম্পত্তি।

ওপেন সোর্স API MailKit লাইব্রেরি সফ্টওয়্যার ডেভেলপারদের কিছু সাধারণ কমান্ড সহ MIME বার্তা তৈরি করতে সক্ষম করে। একটি TextPart হল একটি টেক্সট মিডিয়া-টাইপ সহ একটি লিফ-নোড MIME অংশ। TextPart কনস্ট্রাক্টরের প্রথম আর্গুমেন্ট মিডিয়া-সাবটাইপ নির্দিষ্ট করে, এই ক্ষেত্রে, প্লেইন। আরেকটি মিডিয়া সাবটাইপ যা আপনি সম্ভবত পরিচিত তা হল HTML সাবটাইপ। MIME অংশের স্ট্রিং সামগ্রী পেতে এবং সেট করার উভয়ের জন্য সবচেয়ে সহজ উপায় হল পাঠ্য সম্পত্তি।

C# ব্যবহার করে বিনামূল্যে বার্তা তৈরি এবং পাঠান

var message = new MimeMessage();
message.From.Add(new MailboxAddress("fred", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.To.Add(new MailboxAddress("frans", "This email address is being protected from spam-bots. You need JavaScript enabled to view it."));
message.Subject = "FileFormat ";
message.Body = new TextPart("plain")
{
  Text = "File Format Developer Guide"
};
using (var client = new SmtpClient())
{
  // For demo-purposes,
  client.ServerCertificateValidationCallback = (s, c, h, e) => true;
  client.Connect("smtp.test.com", 587, false);
  // Note: only needed if the SMTP server requires authentication
  client.Authenticate("frans", "password");
  client.Send(message);
  client.Disconnect(true);
}                  

.NET API ব্যবহার করে সংযুক্তি সহ বার্তা তৈরি করুন

MailKit API .NET অ্যাপ্লিকেশনের ভিতরে সংযুক্তি সহ একটি বার্তা তৈরি করার জন্য বৈশিষ্ট্য প্রদান করে। সংযুক্তিগুলি অন্যান্য মাইমপার্টের মতোই; প্রধান পার্থক্য হল যে তারা ইনলাইনের পরিবর্তে সংযুক্তির মান ধারণ করে একটি বিষয়বস্তু-স্বভাব শিরোনাম ধারণ করে বা কোন বিষয়বস্তু-স্বভাব শিরোলেখ নেই। একটি পাঠ্য/এইচটিএমএল এবং বার্তার একটি পাঠ্য/সরল সংস্করণ উভয়ই পাঠাতে, আপনাকে প্রতিটি অংশের জন্য একটি পাঠ্য অংশ তৈরি করতে হবে এবং তারপর সেগুলিকে একটি মাল্টিপার্ট/বিকল্পে যুক্ত করতে হবে।

C# এর মাধ্যমে সংযুক্তি সহ বার্তা তৈরি করুন


var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("Joey", "joey@friends.com"));
message.To.Add (new MailboxAddress ("Alice", "alice@wonderland.com"));
message.Subject = "How you doin?";
// create our message text, just like before (except don't set it as the message.Body)
var body = new TextPart ("plain") {
  Text = @"Hey Alice,
What are you up to this weekend? Monica is throwing one of her parties on
Saturday and I was hoping you could make it.
Will you be my +1?
-- Joey
"
};
// create an image attachment for the file located at path
var attachment = new MimePart ("image", "gif") {
  Content = new MimeContent (File.OpenRead (path), ContentEncoding.Default),
  ContentDisposition = new ContentDisposition (ContentDisposition.Attachment),
  ContentTransferEncoding = ContentEncoding.Base64,
  FileName = Path.GetFileName (path)
};
// now create the multipart/mixed container to hold the message text and the
// image attachment
var multipart = new Multipart ("mixed");
multipart.Add (body);
multipart.Add (attachment);
// now set the multipart/mixed as the message body
message.Body = multipart;
 

PGP/MIME দিয়ে বার্তা এনক্রিপ্ট/ডিক্রিপ্ট করুন

MailKit লাইব্রেরি .NET অ্যাপ্লিকেশনের ভিতরে PGP/MIME সহ ইমেল বার্তাগুলি এনক্রিপ্ট করার বৈশিষ্ট্যগুলি প্রদান করে৷ PGP/MIME এনক্রিপ্ট করা ডেটা এনক্যাপসুলেট করার জন্য একটি মাল্টিপার্ট/এনক্রিপ্টেড মাইম-টাইপ সহ একটি MIME অংশ ব্যবহার করে। আপনি যদি একটি বার্তা এনক্রিপ্ট করতে চান, তবে প্রতিটি প্রাপকের জন্য একটি MailboxAddress এর পরিবর্তে SecureMailboxAddress ব্যবহার করা সর্বদা একটি ভাল পদ্ধতি, যা ব্যবহারকারীদের প্রতিটি প্রাপকের PGP কী-এর অনন্য আঙ্গুলের ছাপ নির্দিষ্ট করতে দেয়৷

C# এর মাধ্যমে PGP/MIME এর সাথে বার্তা এনক্রিপ্ট করা


public void Encrypt (MimeMessage message)
{
  // encrypt our message body using our custom GnuPG cryptography context
  using (var ctx = new MyGnuPGContext ()) {
    // Note: this assumes that each of the recipients has a PGP key associated
    // with their email address in the user's public keyring.
    // 
    // If this is not the case, you can use SecureMailboxAddresses instead of
    // normal MailboxAddresses which would allow you to specify the fingerprint
    // of their PGP keys. You could also choose to use one of the Encrypt()
    // overloads that take a list of PgpPublicKeys.
    message.Body = MultipartEncrypted.Encrypt (ctx, message.To.Mailboxes, message.Body);
  }
}

PGP/MIME বার্তাগুলি ডিক্রিপ্ট করা হচ্ছে


public MimeEntity Decrypt (MimeMessage message)
{
  if (message.Body is MultipartEncrypted) {
    // the top-level MIME part of the message is encrypted using PGP/MIME
    var encrypted = (MultipartEncrypted) entity;
    return encrypted.Decrypt ();
  } else {
    // the top-level MIME part is not encrypted
    return message.Body;
  }
}
 বাংলা