
- مكتبة .NET للوصول إلى Gmail عبر IMAP
- الحصول على معرف العميل وسر العميل لمصادقة OAuth في Google Cloud Console
- الحصول على رمز الوصول لـ Gmail API
- الاتصال بـ Gmail عبر IMAP
تركز هذه المقالة على العمل مع Gmail، وهي خدمة بريد إلكتروني تستخدم على نطاق واسع، من خلال استخدام عميل IMAP كجزء من مكتبة .NET. تغطي الخطوات الأساسية لمصادقة المستخدمين عبر OAuth 2.0، مما يتيح الوصول الآمن إلى حسابات Gmail. كما تشرح كيفية الحصول على بيانات الاعتماد اللازمة من Google Cloud Console، واسترداد رموز الوصول، والاتصال بـ Gmail باستخدام C# وواجهة برمجة تطبيقات .NET. بنهاية هذا الدليل، ستكتسب مهارات لإدارة رسائل البريد الإلكتروني برمجيًا، مما يسمح للتطبيقات بالتفاعل مع Gmail. هذه التقنيات مفيدة لبناء عميل بريد إلكتروني أو لأتمتة المهام، مما يعزز جهود التطوير.
مكتبة .NET للوصول إلى Gmail عبر IMAP
أسپوس.Email لـ .NET تبسط عملية الوصول إلى Gmail عبر IMAP مع مصادقة OAuth 2.0 من خلال توفير فئات وطرق قوية وجاهزة للاستخدام للتفاعل مع خوادم IMAP الخاصة بـ Gmail. إنها مكتبة مصممة للتعامل مع مجموعة واسعة من المهام المتعلقة بالبريد الإلكتروني داخل تطبيقات .NET. توفر دعمًا لبروتوكولات البريد الإلكتروني الشائعة، بما في ذلك IMAP وPOP3 وSMTP، مما يجعلها أداة أساسية للمطورين الذين يعملون على وظائف البريد الإلكتروني.
باستخدام Aspose.Email، يمكنك الاتصال بحسابات Gmail بشكل آمن، واسترداد الرسائل، وإدارة بيانات صندوق البريد دون القلق بشأن تعقيدات تنفيذ البروتوكول. تقوم هذه المكتبة بإخفاء العديد من التفاصيل منخفضة المستوى، مما يسمح للمطورين بالتركيز على كتابة شيفرة وظيفية نظيفة لإدارة البريد الإلكتروني، سواء لعملاء البريد الإلكتروني أو الأتمتة أو خدمات الخلفية.
لاستغلال قوة المكتبة، قم بتثبيتها باستخدام مدير حزم NuGet ودمجها في مشروعك:
- افتح مشروعك في Visual Studio.
- انتقل إلى أدوات > مدير حزم NuGet > إدارة حزم NuGet للحل.
- ابحث عن Aspose.Email.
- حدد الحزمة وانقر على تثبيت.
بدلاً من ذلك، يمكنك استخدام وحدة التحكم في مدير الحزم وكتابة الأمر التالي:
Install-Package Aspose.Email
يمكنك أيضًا تنزيل أحدث إصدار من واجهة برمجة التطبيقات مباشرة من موقع Aspose.
بمجرد تثبيت المكتبة، ابدأ البرمجة!
الحصول على معرف العميل وسر العميل لمصادقة OAuth في Google Cloud Console
نظرًا لأن Gmail لم يعد يدعم تسجيل الدخول المباشر ومصادقة كلمة المرور، تحتاج إلى استخدام OAuth 2.0 للاتصال. يوفر OAuth 2.0 إطار عمل تفويض قوي، مما يسمح للتطبيقات بالوصول إلى بيانات المستخدم بشكل آمن دون كشف بيانات الاعتماد الحساسة.
ستوجهك الخطوات التالية خلال عملية الحصول على معرف العميل وسر العميل من Google Cloud Console، تحديدًا للاتصال بصندوق البريد عبر IMAP.
- الوصول إلى Google Cloud Console
للبدأ، انتقل إلى Google Cloud Console وقم بتسجيل الدخول باستخدام حساب Google الخاص بك. تتيح لك هذه المنصة إدارة وتكوين خدمات Google لمشاريعك.
- إنشاء مشروع جديد
- انقر على قائمة المشروع المنسدلة في أعلى الصفحة.
- حدد “مشروع جديد”.
- أدخل اسمًا وصفيًا لمشروعك واختر حساب الفوترة إذا لزم الأمر.
- انقر على “إنشاء” لإنهاء مشروعك الجديد.
- تفعيل واجهة برمجة تطبيقات Gmail للوصول إلى البيانات
- في لوحة التنقل اليسرى، انقر على “APIs & Services”، ثم “Library”.
- ابحث عن “Gmail API”.
- انقر على إدخال واجهة برمجة التطبيقات واضغط على “Enable”.
- إعداد شاشة موافقة OAuth
- انتقل إلى “APIs & Services”، ثم “شاشة موافقة OAuth”.
- اختر إما “خارجي” أو “داخلي”، بناءً على قاعدة مستخدمينك.
- املأ الحقول اللازمة مثل اسم التطبيق وبريد دعم المستخدم.
- انقر على “حفظ ومتابعة” للمتابعة.
- إنشاء بيانات الاعتماد
تعد بيانات الاعتماد ضرورية لتواصل تطبيقك بشكل آمن مع خدمات Google.
- انتقل إلى “APIs & Services” وحدد “بيانات الاعتماد”.
- انقر على “+ إنشاء بيانات اعتماد” واختر “معرفات العميل OAuth 2.0”.
- تكوين معرف عميل OAuth 2.0 الخاص بك
- حدد “تطبيق سطح المكتب” كنوع التطبيق.
- قم بتسمية عميل OAuth 2.0 الخاص بك.
- أضف URIs للتحويل المعتمدة، مثل
http://localhost
للاختبار المحلي. - انقر على “إنشاء” لإنشاء بيانات الاعتماد.
- استرداد معرف العميل وسر العميل
بمجرد إنشاء بيانات الاعتماد، سترى مربع حوار يعرض معرف العميل وسر العميل. قم بتنزيل الملف الذي يحتوي على بيانات الاعتماد بتنسيق JSON من خلال النقر على زر التنزيل.
- تكوين النطاقات
- عد إلى “شاشة موافقة OAuth”.
- انقر على “إضافة أو إزالة نطاقات” لاختيار إذن “https://mail.google.com/" للوصول إلى بيانات صندوق البريد عبر IMAP.
لقد حصلت الآن بنجاح على معرف العميل وسر العميل لمصادقة OAuth في Google Cloud Console. ستتيح لك هذه البيانات الاعتماد مصادقة المستخدمين والاتصال بشكل آمن بصناديق بريدهم عبر IMAP باستخدام تطبيق عميل IMAP.
الحصول على رمز الوصول لـ Gmail API
تعد رموز الوصول ضرورية لمصادقة الطلبات إلى واجهات برمجة التطبيقات، مثل Gmail API. تشرح هذه القسم كيفية الحصول على رمز وصول. سنقوم بإرشادك خلال مثال شيفرة يوضح عملية الحصول على رمز وصول للتفاعل مع بيانات Gmail.
قبل أن تبدأ، تأكد من أن لديك:
- مشروع Google Cloud مع تفعيل Gmail API.
- بيانات اعتماد OAuth 2.0 (ملف JSON) تم تنزيله من Google Cloud Console.
- مكتبة Google.Apis.Auth مثبتة في مشروع C# الخاص بك. يمكنك تثبيتها عبر NuGet:
Install-Package Google.Apis.Auth
للحصول على الرمز برمجيًا، سنقوم باتخاذ الإجراءات التالية:
- استيراد مساحة الأسماء الضرورية
Google.Apis.Auth.OAuth2
لاستخدام ميزات مصادقة Google. - إنشاء طريقة ثابتة غير متزامنة
GetAccessToken
ستقبل كوسيلة معطاة مسارًا إلى ملف JSON يحتوي على بيانات اعتماد OAuth 2.0.
ستتضمن خطوات الحصول على GetAccessToken
ما يلي:
- تحديد النطاقات المطلوبة لـ Gmail API. في حالتنا، نطلب الوصول إلى حساب Gmail الخاص بالمستخدم.
- استخدام الطريقة
GoogleClientSecrets.FromFile
لتحميل أسرار عميل OAuth 2.0 من ملف JSON المحدد. - استخدام الطريقة
GoogleWebAuthorizationBroker.AuthorizeAsync
لبدء عملية التفويض. ستطلب هذه الطريقة من المستخدم المصادقة وتفويض الوصول.
بمجرد نجاح المصادقة، يتم إرجاع رمز الوصول، مما يسمح لك بإجراء طلبات مصادقة إلى Gmail API.
إليك مثال الشيفرة لاسترداد رمز الوصول:
using Google.Apis.Auth.OAuth2; | |
static async Task<string> GetAccessToken(string pathToAccessParameters) | |
{ | |
// Gmail API scope | |
string[] scopes = { "https://mail.google.com/" }; | |
// Use the JSON file with OAuth 2.0 credentials | |
var clientSecrets = GoogleClientSecrets.FromFile(pathToAccessParameters).Secrets; | |
// Acquire tokens | |
var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync( | |
clientSecrets, | |
scopes, | |
"username (e.g. username@gmail.com)", | |
CancellationToken.None); | |
return credential.Token.AccessToken; | |
} |
لقد قمت الآن بتنفيذ طريقة للحصول على رمز وصول لـ Gmail API باستخدام OAuth 2.0 في C#. يمكّن هذا الرمز وصول تطبيقك لتنفيذ عمليات مصرح بها نيابة عن المستخدم. تذكر التعامل مع رمز الوصول بشكل آمن وتحديثه حسب الحاجة للحفاظ على وصول المستخدم.
الاتصال بـ Gmail عبر IMAP
ستوجهك هذه القسم خلال عملية الاتصال بـ Gmail باستخدام Aspose.Email لـ .NET. سننظر في الشيفرة اللازمة لإنشاء اتصال آمن واسترداد رسائل البريد الإلكتروني من حساب Gmail.
قبل أن تبدأ، تأكد من أن لديك الطريقة لاسترداد رمز الوصول للمصادقة، كما هو موضح في القسم السابق.
كمثال، سنقوم بإنشاء عميل IMAP مع المعلمات اللازمة وإدراج الرسائل من مجلد “البريد الوارد”:
استدعاء طريقة
GetAccessToken
، مع تمرير مسار ملف بيانات الاعتماد OAuth 2.0. هذه الطريقة تعيد رمز الوصول اللازم للمصادقة.إنشاء مثيل من ImapClient باستخدام المعلمات.
المضيف:
"imap.gmail.com"
يحدد خادم IMAP الخاص بـ Gmail.المنفذ:
993
هو المنفذ الآمن لـ IMAP عبر SSL.اسم المستخدم: عنوان بريدك الإلكتروني على Gmail.
رمز الوصول: رمز الوصول المسترد من طريقة
GetAccessToken
.استخدام OAuth: تشير المعلمة
true
إلى أنه يتم استخدام OAuth للاتصال.خيارات الأمان:
SecurityOptions.SSLAuto
يضمن التفاوض التلقائي لـ SSL.استدعاء الطريقة SelectFolderAsync لتحديد مجلد صندوق البريد للوصول إليه - في حالتنا، البريد الوارد.
استدعاء الطريقة ListMessages لاسترداد قائمة رسائل البريد الإلكتروني من المجلد المحدد. نخرج عدد الرسائل المستردة ونتكرر عبر كل رسالة لطباعة سطر الموضوع.
إليك شيفرة C# للاتصال بـ Gmail باستخدام IMAP:
using Aspose.Email.Clients; | |
using Aspose.Email.Clients.Base; | |
using Aspose.Email.Clients.Imap; | |
var accessToken = | |
await GetAccessToken( | |
"googleusercontent.com.json"); | |
// Connect to Gmail IMAP with OAuth | |
using var client = new ImapClient("imap.gmail.com", 993, "dmitbox@gmail.com", accessToken, true, SecurityOptions.SSLAuto); | |
// Select the Inbox folder | |
await client.SelectFolderAsync(ImapFolderInfo.InBox); | |
// Retrieve messages | |
var messages = client.ListMessages(); | |
Console.WriteLine($"Number of messages: {messages.Count}"); | |
foreach (var message in messages) | |
{ | |
Console.WriteLine(message.Subject); | |
} |
لقد اتصلت الآن بنجاح بـ Gmail عبر IMAP باستخدام C# وAspose.Email .NET.
بالتأكيد، فإن الطرق الخاصة بـ ImapClient المستخدمة في المثال أعلاه هي مجرد عدد قليل. تغطي Aspose.Email تقريبًا جميع وظائف بروتوكول IMAP على جانب العميل. يشمل ذلك ميزات مثل إدارة المجلدات، واسترداد الرسائل، والتعامل مع المرفقات. بالإضافة إلى ذلك، توفر دعمًا لعمليات متقدمة مثل البحث وتصفية الرسائل.
الخاتمة
في هذه المقالة، استكشفنا تقنيات العمل مع Gmail عبر بروتوكول IMAP باستخدام C#. غطينا كيفية الحصول على بيانات اعتماد OAuth 2.0 من Google Cloud Console، واسترداد رموز الوصول، والاتصال بـ Gmail بشكل آمن لإدارة الرسائل.
من خلال استخدام أمثلة الشيفرة المقدمة، يمكنك دمج وظائف Gmail في تطبيقاتك، مما يسمح باسترداد وإدارة البريد الإلكتروني بشكل فعال.
تقدم عينات الشيفرة من مكتبة Aspose.Email لـ .NET المتقدمة والموثوقة والتي توفر أيضًا عددًا من الموارد المجانية:
- توثيق شامل,
- مرجع API واسع,
- مجموعة متنوعة من الأدوات والتطبيقات المجانية عبر الإنترنت لتعزيز عملية التطوير,
- منتدى الدعم المجاني لمساعدة المجتمع والأفكار،
- مدونة للبقاء على اطلاع بأحدث النصائح والدروس.
تعد هذه الموارد لا تقدر بثمن لتعظيم إمكانيات المكتبة في مشاريعك.