$lang['tuto'] = "سبق"; ?> میل کٹ اور ASP.NET کور ویب API کا

میل کٹ اور ASP.NET کور ویب API کا استعمال کرتے ہوئے آؤٹ لک میں توثیق کے آسان مسائل کو ٹھیک کرنا

Temp mail SuperHeros
میل کٹ اور ASP.NET کور ویب API کا استعمال کرتے ہوئے آؤٹ لک میں توثیق کے آسان مسائل کو ٹھیک کرنا
میل کٹ اور ASP.NET کور ویب API کا استعمال کرتے ہوئے آؤٹ لک میں توثیق کے آسان مسائل کو ٹھیک کرنا

ASP.NET کور اور میل کٹ کے ساتھ آؤٹ لک کی توثیق کے مسائل کو سمجھنا

آؤٹ لک ای میل کی فعالیت کو ایک میں ضم کرتے وقت ASP.NET کور ویب API میل کٹ کا استعمال کرتے ہوئے، ڈویلپرز کو اکثر تصدیق کے مسائل کا سامنا کرنا پڑتا ہے۔ ایک عام مسئلہ "535: 5.7.139 توثیق ناکام" غلطی کا پیغام ہے۔ یہ عام طور پر اس وقت ہوتا ہے جب آؤٹ لک سرور پر توثیق کا بنیادی طریقہ غیر فعال ہو جاتا ہے، جس کی وجہ سے کنکشن کی کوشش ناکام ہو جاتی ہے۔

بنیادی توثیق، جو ایک بار بڑے پیمانے پر استعمال ہوتی تھی، سیکورٹی کو بڑھانے کے لیے Microsoft جیسے سروس فراہم کنندگان نے اسے تیزی سے غیر فعال کر دیا ہے۔ اس کے بجائے، جدید توثیق کے طریقے، جیسے OAuth2، کو ترجیح دی جاتی ہے۔ یہ تبدیلی الجھن کا باعث بن سکتی ہے، خاص طور پر ان ڈویلپرز کے لیے جو صارف نام اور پاس ورڈز کو براہ راست استعمال کرنے کے عادی ہیں۔

اس منظر نامے میں، ہو سکتا ہے آپ نے درست آؤٹ لک SMTP سرور کی ترتیبات اور ایپ کے لیے مخصوص پاس ورڈ استعمال کیا ہو، پھر بھی آپ کو تصدیق کی خرابیوں کا سامنا ہے۔ یہ سمجھنا کہ بنیادی تصدیق کیوں ناکام ہو جاتی ہے ان مسائل کو مؤثر طریقے سے حل کرنے کے لیے بہت ضروری ہے۔ غلطی خود کوڈ کے ساتھ کسی مسئلے کی بجائے سیکیورٹی پالیسی کے نفاذ کی نشاندہی کرتی ہے۔

اس مضمون میں، ہم دریافت کریں گے کہ یہ خرابی کیوں پیش آتی ہے، اس کی بنیادی وجوہات، اور آپ اس مسئلے کو حل کرنے کے لیے کیا اقدامات کر سکتے ہیں۔ آؤٹ لک کے سرورز کے ساتھ محفوظ اور کامیاب مواصلت کو یقینی بنانے کے لیے ہم OAuth2 جیسے متبادل تصدیقی طریقوں پر بھی تبادلہ خیال کریں گے۔

حکم استعمال کی مثال
ConfidentialClientApplicationBuilder.Create() یہ کمانڈ OAuth2 کی توثیق کے لیے ایک خفیہ کلائنٹ ایپلیکیشن بنانے کے لیے استعمال ہوتی ہے۔ یہ مائیکروسافٹ آئیڈینٹی کلائنٹ (MSAL) لائبریری کا حصہ ہے اور ایپ کو کلائنٹ ID کے ساتھ شروع کرتا ہے، جس سے اسے محفوظ مواصلت کے لیے ٹوکن حاصل کرنے کی اجازت ملتی ہے۔
SaslMechanismOAuth2() یہ کمانڈ میل کٹ کے لیے مخصوص ہے اور ای میلز بھیجتے وقت OAuth2 ٹوکن کے ساتھ تصدیق کرنے کے لیے استعمال کیا جاتا ہے۔ یہ OAuth2 پروٹوکول کے ذریعے زیادہ محفوظ طریقہ استعمال کرکے بنیادی تصدیق کو نظرانداز کرتا ہے۔
AcquireTokenForClient(scopes).ExecuteAsync() یہ طریقہ کلائنٹ کی درخواست کے لیے OAuth2 ٹوکن حاصل کرتا ہے۔ یہ MSAL لائبریری کا حصہ ہے اور APIs جیسے Microsoft Graph یا SMTP سرورز کے لیے رسائی ٹوکن بنانے کے لیے ضروری ہے۔
GraphServiceClient یہ آبجیکٹ Microsoft Graph API میں Microsoft سروسز کے ساتھ تعامل کے لیے استعمال ہوتا ہے۔ یہ ڈویلپرز کو OAuth2 ٹوکنز کا استعمال کرتے ہوئے Microsoft 365 میں ای میلز بھیجنے، صارفین کا نظم کرنے، یا دیگر وسائل کے ساتھ تعامل کرنے کی اجازت دیتا ہے۔
DelegateAuthenticationProvider() یہ کمانڈ مائیکروسافٹ گراف API کی درخواستوں کے لیے تصدیقی عمل کو ترتیب دینے کے لیے استعمال کیا جاتا ہے۔ یہ محفوظ مواصلت کو یقینی بناتے ہوئے متحرک طور پر ہر API درخواست کو OAuth2 ٹوکن تفویض کرتا ہے۔
SendMail(message, false).Request().PostAsync() یہ کمانڈ گراف API کا حصہ ہے جو تعمیر شدہ ای میل پیغام کو متضاد طور پر بھیجتا ہے۔ یہ مائیکروسافٹ گراف کی محفوظ ای میل بھیجنے کی فعالیت کا استعمال کرتے ہوئے صارف کے میل باکس میں پیغام بھیجتا ہے۔
SmtpClient.AuthenticateAsync() میل کٹ میں، یہ کمانڈ کلائنٹ کو OAuth2 ٹوکن جیسے اسناد کا استعمال کرتے ہوئے ای میل سرور کے ساتھ تصدیق کرنے کی اجازت دیتی ہے۔ یہ روایتی صارف نام اور پاس ورڈ کی توثیق کے طریقہ کار کی جگہ لے لیتا ہے۔
SecureSocketOptions.StartTls یہ کمانڈ STARTTLS پروٹوکول کے ذریعے محفوظ، انکرپٹڈ کنکشن کو نافذ کرنے کے لیے SMTP سرور سے منسلک ہوتے وقت استعمال کیا جاتا ہے، اس بات کو یقینی بناتے ہوئے کہ ڈیٹا کو نیٹ ورک پر محفوظ طریقے سے منتقل کیا جائے۔
MimeMessage یہ کلاس میل کٹ لائبریری میں ای میل پیغام کی نمائندگی کرتی ہے۔ اس میں ای میل کا ارسال کنندہ، وصول کنندہ، مضمون اور باڈی جیسی تفصیلات شامل ہیں۔ بھیجنے سے پہلے ای میل مواد بنانے اور فارمیٹ کرنے کے لیے یہ ضروری ہے۔

محفوظ ای میل بھیجنے کے لیے OAuth2 انٹیگریشن کی تلاش

اوپر فراہم کردہ اسکرپٹس کو ایڈریس کرنے کے لیے ڈیزائن کیا گیا ہے۔ بنیادی تصدیق کی خرابی۔ ASP.NET Core Web API میں میل کٹ کا استعمال کرتے ہوئے آؤٹ لک کے SMTP سرور کے ذریعے ای میلز بھیجتے وقت سامنا ہوا۔ خرابی اس لیے پیش آتی ہے کیونکہ مائیکروسافٹ نے سیکیورٹی کو بڑھانے کے لیے بنیادی توثیق کو غیر فعال کر دیا ہے، جس سے ڈویلپرز کو OAuth2، تصدیق کا ایک زیادہ محفوظ طریقہ اختیار کرنے پر مجبور کر دیا گیا ہے۔ پہلے حل میں، ہم نے تصدیق کرنے اور ای میل بھیجنے کے لیے OAuth2 ٹوکن کے ساتھ MailKit کا استعمال کیا۔ صارف نام اور پاس ورڈ پر بھروسہ کرنے کے بجائے، OAuth2 کو ایک ٹوکن کی ضرورت ہوتی ہے، جو Microsoft Identity Client (MSAL) کے ذریعے تیار کیا جاتا ہے اور اسے محفوظ طریقے سے درخواستوں کی تصدیق کرنے کے لیے استعمال کیا جاتا ہے۔

شروع کرنے کے لیے، حل ایک کلائنٹ ایپلیکیشن بنانے کے لیے `ConfidentialClientApplicationBuilder.Create()` طریقہ، MSAL لائبریری کا حصہ استعمال کرتا ہے۔ یہ مرحلہ لازمی اسناد جیسے کلائنٹ ID، کرایہ دار ID، اور کلائنٹ سیکریٹ کے ساتھ ایپلی کیشن کو شروع کرتا ہے، جو OAuth2 ٹوکن بنانے کے لیے درکار ہیں۔ ایک بار ایپلیکیشن بن جانے کے بعد، 'AcquireTokenForClient()' طریقہ آؤٹ لک کے SMTP سرور کے ساتھ تصدیق کرنے کے لیے درکار ٹوکن کو بازیافت کرتا ہے۔ 'SaslMechanismOAuth2()' میکانزم کا استعمال کرتے ہوئے، MailKit پھر بنیادی تصدیق کو مکمل طور پر نظرانداز کرتے ہوئے، اس ٹوکن کا استعمال کرتے ہوئے ای میل بھیجنے کے عمل کی توثیق کر سکتا ہے۔ یہ طریقہ اس بات کو یقینی بناتا ہے کہ ایپلیکیشن جدید سیکیورٹی پروٹوکول پر عمل پیرا ہے اور فرسودہ طریقوں سے گریز کرتی ہے۔

دوسرے حل میں، مائیکروسافٹ گراف API کا استعمال SMTP سرور کے ساتھ براہ راست تعامل کیے بغیر ای میلز بھیجنے کے لیے کیا جاتا ہے۔ مائیکروسافٹ گراف مائیکروسافٹ سروسز کے انتظام کے لیے ایک ہمہ جہت حل فراہم کرتا ہے، بشمول آؤٹ لک ای میلز۔ گراف API `DelegateAuthenticationProvider()` کے ذریعے OAuth2 کی توثیق کا فائدہ اٹھاتا ہے، جو ہر درخواست کو OAuth2 ٹوکن تفویض کرتا ہے۔ یہ ٹوکن اسی طرح MSAL کا استعمال کرتے ہوئے تیار کیا گیا ہے۔ 'GraphServiceClient' آبجیکٹ مائیکروسافٹ سرورز کے ساتھ محفوظ مواصلت کی سہولت فراہم کرتا ہے، جس سے API کو بغیر کسی رکاوٹ کے ای میلز بھیجنے کی اجازت ملتی ہے۔ یہ طریقہ خاص طور پر ان لوگوں کے لیے مفید ہے جو SMTP جیسی انفرادی خدمات سے کم براہ راست روابط کے ساتھ مائیکروسافٹ سروسز کے ایک وسیع سیٹ کو ہینڈل کرنا چاہتے ہیں۔

آخر میں، تیسرے حل میں، ہم نے بلٹ ان کا استعمال کرتے ہوئے ایک زیادہ روایتی طریقہ تلاش کیا۔ System.Net.Mail .NET کی نام کی جگہ۔ جب کہ یہ ابھی بھی OAuth2 کو تصدیق کے لیے استعمال کرتا ہے، یہ طریقہ ای میلز بھیجنے کے لیے MailKit کو System.Net.Mail کے SMTP کلائنٹ سے بدل دیتا ہے۔ OAuth2 ٹوکن کو عام صارف نام اور پاس ورڈ کے امتزاج کی بجائے ایک سند کے طور پر پاس کیا جاتا ہے۔ ای میل کو عام 'MailMessage' اور 'SmtpClient' اشیاء کا استعمال کرتے ہوئے بنایا اور بھیجا جاتا ہے۔ یہ نقطہ نظر ان ڈویلپرز کے لیے کارآمد ہو سکتا ہے جو مقامی .NET لائبریریوں کے ساتھ کام کرنا پسند کرتے ہیں لیکن پھر بھی ای میلز بھیجنے کے لیے محفوظ OAuth2 تصدیق کی ضرورت ہوتی ہے۔

یہ تمام طریقے نہ صرف بنیادی توثیق کے غیر فعال ہونے کے مسئلے کو حل کرتے ہیں بلکہ آپ کے ASP.NET Core Web API میں ای میل بھیجنے کی فعالیت کا مستقبل کا ثبوت بھی دیتے ہیں۔ ہر حل پرانے اور کم محفوظ تصدیقی طریقوں کی جگہ لے کر OAuth2 کے ذریعے سیکیورٹی کی اہمیت کو اجاگر کرتا ہے۔ ایم ایس اے ایل اور مائیکروسافٹ گراف جیسی جدید تصدیقی لائبریریوں کا فائدہ اٹھا کر، ڈویلپرز اس بات کو یقینی بنا سکتے ہیں کہ ان کی ایپلی کیشنز تازہ ترین حفاظتی معیارات کے مطابق رہیں، جبکہ اب بھی قابل اعتماد ای میل بھیجنے کی صلاحیتیں پیش کرتے ہیں۔

حل 1: آؤٹ لک کی توثیق کے لیے OAuth2 پر سوئچ کرنا

یہ نقطہ نظر ASP.NET کور اور میل کٹ کا استعمال کرتا ہے، بنیادی تصدیق کو OAuth2 سے تبدیل کرتا ہے، جو آؤٹ لک میں محفوظ ای میل بھیجنے کا تجویز کردہ طریقہ ہے۔

// Step 1: Install required NuGet packages
// MailKit, MimeKit, and Microsoft.Identity.Client for OAuth2

using MailKit.Net.Smtp;
using MimeKit;
using Microsoft.Identity.Client;

// Step 2: Configure OAuth2 authentication
var clientId = "your-client-id";
var tenantId = "your-tenant-id";
var clientSecret = "your-client-secret";

var cca = ConfidentialClientApplicationBuilder
    .Create(clientId)
    .WithClientSecret(clientSecret)
    .WithAuthority(new Uri($"https://login.microsoftonline.com/{tenantId}"))
    .Build();

var scopes = new[] { "https://outlook.office365.com/.default" };
var result = await cca.AcquireTokenForClient(scopes).ExecuteAsync();

// Step 3: Send email using OAuth2 token
var emailMessage = new MimeMessage();
emailMessage.From.Add(new MailboxAddress("Your Name", "your-email@outlook.com"));
emailMessage.To.Add(new MailboxAddress("Recipient", "recipient@example.com"));
emailMessage.Subject = "Subject";
emailMessage.Body = new TextPart("plain") { Text = "Hello, this is a test email." };

using (var smtpClient = new SmtpClient())
{
    await smtpClient.ConnectAsync("smtp.office365.com", 587, SecureSocketOptions.StartTls);
    await smtpClient.AuthenticateAsync(new SaslMechanismOAuth2("your-email@outlook.com", result.AccessToken));
    await smtpClient.SendAsync(emailMessage);
    await smtpClient.DisconnectAsync(true);
}

حل 2: ای میل بھیجنے کے لیے مائیکروسافٹ گراف API کا استعمال

اس طریقہ کار میں SMTP کنفیگریشن کو مکمل طور پر نظرانداز کرتے ہوئے ASP.NET کور بیک اینڈ سے ای میلز بھیجنے کے لیے Microsoft Graph API کا استعمال شامل ہے۔

// Step 1: Add Microsoft.Graph NuGet package
using Microsoft.Graph;
using Microsoft.Identity.Client;

// Step 2: Configure Graph API and authentication
var confidentialClient = ConfidentialClientApplicationBuilder.Create(clientId)
    .WithTenantId(tenantId)
    .WithClientSecret(clientSecret)
    .Build();

var graphClient = new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) =>
{
    var authResult = await confidentialClient.AcquireTokenForClient(scopes).ExecuteAsync();
    requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken);
}));

// Step 3: Prepare and send email via Graph API
var message = new Message
{
    Subject = "Test Email",
    Body = new ItemBody
    {
        ContentType = BodyType.Text,
        Content = "Hello, this is a test email sent via Microsoft Graph API."
    },
    ToRecipients = new List<Recipient>()
    {
        new Recipient { EmailAddress = new EmailAddress { Address = "recipient@example.com" } }
    }
};

await graphClient.Users["your-email@outlook.com"].SendMail(message, false).Request().PostAsync();

حل 3: SMTP (مختلف لائبریری) کے ساتھ OAuth2 کا استعمال

یہ نقطہ نظر اسی OAuth تصدیقی طریقہ کے ساتھ MailKit کے بجائے OAuth2 کے ساتھ ای میل بھیجنے کے لیے System.Net.Mail کا استعمال کرتا ہے۔

// Step 1: Configure OAuth2 with System.Net.Mail
var smtpClient = new SmtpClient("smtp.office365.com")
{
    Port = 587,
    EnableSsl = true,
    UseDefaultCredentials = false,
    Credentials = new NetworkCredential("your-email@outlook.com", accessToken)
};

// Step 2: Construct the email message
var mailMessage = new MailMessage
{
    From = new MailAddress("your-email@outlook.com"),
    Subject = "Test Email",
    Body = "This is a test email sent using System.Net.Mail with OAuth2.",
    IsBodyHtml = true
};

mailMessage.To.Add("recipient@example.com");

// Step 3: Send the email
await smtpClient.SendMailAsync(mailMessage);

ای میل بھیجنے کے لیے جدید حفاظتی معیارات کو نافذ کرنا

جدید ای میل سسٹمز کے تناظر میں، بنیادی توثیق کو پرانی اور غیر محفوظ کے طور پر دیکھا جا رہا ہے۔ یہ خاص طور پر آؤٹ لک جیسے بڑے سروس فراہم کنندگان کے لیے درست ہے، جنہوں نے OAuth2 جیسے زیادہ محفوظ میکانزم کو نافذ کرنے کے لیے بنیادی تصدیق کو غیر فعال کر دیا ہے۔ بنیادی توثیق، جو کہ مکمل طور پر صارف نام اور پاس ورڈ پر منحصر ہوتی ہے، وحشیانہ طاقت کے حملوں کا خطرہ ہے اور اگر اسناد چوری ہو جائیں تو اس سے سمجھوتہ کیا جا سکتا ہے۔ لہذا، OAuth2 پر منتقل ہونا، جیسا کہ مائیکروسافٹ حوصلہ افزائی کرتا ہے، اس بات کو یقینی بناتا ہے کہ ٹوکنز کا تبادلہ صارف کی اسناد کو ظاہر کیے بغیر محفوظ طریقے سے کیا جائے۔

OAuth2 کو لاگو کرنے کا ایک اہم پہلو رسائی ٹوکنز کا تصور ہے۔ SMTP سرورز کے ذریعے براہ راست تصدیق پر انحصار کرنے کے بجائے، OAuth2 وقت کے پابند ٹوکن جاری کرتا ہے جو ای میل سروسز جیسے وسائل تک محفوظ رسائی کی اجازت دیتا ہے۔ یہ ٹوکن ایک اجازت دینے والے سرور کے ذریعے عطا کیے جاتے ہیں، اور ڈویلپرز انہیں Microsoft Identity Client (MSAL) جیسی لائبریریوں کا استعمال کر کے حاصل کر سکتے ہیں۔ ان ٹوکنز کے ساتھ، ایپلیکیشنز صارف کے اکاؤنٹ تک محدود رسائی حاصل کرتی ہیں، طویل، جامد اسناد سے وابستہ خطرات کو کم کرتی ہیں۔

مزید برآں، OAuth2 کو اپنانا نہ صرف آپ کی درخواست کو جدید حفاظتی طریقوں سے ہم آہنگ کرتا ہے بلکہ اسے مستقبل میں ہونے والی پیشرفت کے لیے بھی تیار کرتا ہے۔ بہت سے APIs، بشمول کلاؤڈ بیسڈ سروسز کے لیے، اب محفوظ مواصلت کے لیے OAuth2 پر بہت زیادہ انحصار کرتے ہیں۔ یہ اس بات کو یقینی بناتا ہے کہ ای میل بھیجنے کی فعالیت فعال اور محفوظ رہتی ہے جیسے جیسے خدمات تیار ہوتی ہیں۔ انضمام کرنے والے ڈویلپرز کے لیے میل کٹ کے ساتھ ASP.NET کور, OAuth2 کو استعمال کرنے سے ٹوکن پر مبنی تصدیق سے لے کر STARTTLS جیسے پروٹوکولز کے ذریعے انکرپٹڈ ٹرانسمیشنز تک سیکیورٹی میں اضافہ ہوتا ہے۔

ASP.NET کور میں آؤٹ لک تصدیق کے بارے میں عام طور پر پوچھے جانے والے سوالات

  1. آؤٹ لک میں 535: 5.7.139 خرابی کی کیا وجہ ہے؟
  2. یہ خرابی اس لیے پیش آتی ہے کیونکہ آؤٹ لک کے SMTP سرور کے لیے بنیادی تصدیق کو غیر فعال کر دیا گیا ہے۔ مائیکروسافٹ کو اب محفوظ تصدیق کے لیے OAuth2 کی ضرورت ہے۔
  3. میں میل کٹ میں OAuth2 کو کیسے فعال کر سکتا ہوں؟
  4. آپ OAuth2 کو استعمال کرکے لاگو کرسکتے ہیں۔ ConfidentialClientApplicationBuilder.Create() اپنی درخواست کو ترتیب دینے کے لیے اور SaslMechanismOAuth2() ٹوکن کے ساتھ ای میل بھیجنے کی تصدیق کرنے کے لیے۔
  5. آؤٹ لک میں ای میلز بھیجنے کے لیے بنیادی تصدیق کا متبادل کیا ہے؟
  6. OAuth2 ترجیحی متبادل ہے۔ یہ محفوظ، محدود وقت کی توثیق کے لیے صارف نام اور پاس ورڈ کے بجائے ٹوکن استعمال کرتا ہے۔
  7. کیا مائیکروسافٹ گراف API ای میلز بھیجنے کے لیے SMTP استعمال کرنے سے بہتر ہے؟
  8. مائیکروسافٹ گراف API ایک وسیع تر سروس ہے جو صرف ای میلز بھیجنے سے زیادہ ہینڈل کر سکتی ہے۔ اگر آپ کو مائیکروسافٹ 365 کے مختلف وسائل تک رسائی کی ضرورت ہو تو یہ زیادہ ورسٹائل اور تجویز کردہ ہے۔
  9. اگر OAuth2 میری درخواست میں صحیح طریقے سے کام کر رہا ہے تو میں کیسے جانچوں؟
  10. آپ یہ تصدیق کرنے کے لیے یونٹ ٹیسٹ نافذ کر سکتے ہیں کہ آپ کے OAuth2 ٹوکنز تیار کیے جا رہے ہیں اور ای میل بھیجنے والی سروس کو درست طریقے سے پاس کیے جا رہے ہیں۔

ASP.NET کور کے ساتھ آؤٹ لک کی توثیق پر حتمی خیالات

آؤٹ لک میں توثیق کی بنیادی غلطی کو حل کرنے کے لیے OAuth2 جیسے جدید سیکیورٹی معیارات کو اپنانے کی ضرورت ہے۔ یہ نقطہ نظر بنیادی توثیق کی کمزوریوں کو ختم کرتا ہے اور Outlook کے SMTP سرور کے ذریعے پیغامات بھیجنے کے لیے زیادہ محفوظ طریقہ فراہم کرتا ہے۔

OAuth2 کو ASP.NET Core اور MailKit کے ساتھ مربوط کر کے، ڈویلپرز اپنی ایپلیکیشنز کو مستقبل کا ثبوت دے سکتے ہیں، محفوظ مواصلات کو یقینی بناتے ہوئے اور سروس فراہم کنندہ کی تازہ ترین ضروریات کی تعمیل کو یقینی بنا سکتے ہیں۔ یہ نہ صرف تصدیق کے مسئلے کو حل کرتا ہے بلکہ مجموعی سیکورٹی اور فعالیت کو بھی بڑھاتا ہے۔

آؤٹ لک کی توثیق کے مسائل کے لیے ذرائع اور حوالہ جات
  1. بنیادی تصدیق اور OAuth2 کے نفاذ کے مائیکروسافٹ کی فرسودگی پر تفصیلی دستاویزات: Microsoft Exchange آن لائن بنیادی توثیق فرسودگی
  2. ای میل کی خصوصیات کے لیے .NET میں MailKit اور MimeKit استعمال کرنے کے بارے میں جامع گائیڈ: میل کٹ دستاویزات
  3. OAuth2 تصدیق کے لیے MSAL (Microsoft Identity Client) لائبریری دستاویزات: مائیکروسافٹ شناختی پلیٹ فارم (MSAL) کا جائزہ