إرسال الرسائل القصيرة (SMS) باستخدام C# (.NET): مكتبات API وأمثلة الكود

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

إرسال الرسائل القصيرة (SMS) باستخدام C# (.NET): نظرة عامة على المكتبات وAPI



في التطوير الحديث باستخدام C# (.NET)، غالباً ما تنشأ الحاجة إلى دمج إشعارات الرسائل القصيرة (SMS): تأكيد التسجيل، المصادقة الثنائية، إشعارات حالة الطلب، أو ببساطة الإرسال الجماعي. في هذه المقالة، سنستعرض ثلاث طرق شائعة لإرسال الرسائل القصيرة من تطبيقات C#: استخدام الخدمات السحابية Twilio وVonage (المعروفة سابقاً باسم Nexmo) والخدمة الروسية SMSC.ru. جميع أمثلة الكود مكتوبة لـ .NET 6/8 وتستخدم الأساليب غير المتزامنة الحديثة.



1. إرسال الرسائل القصيرة عبر Twilio (موفر عالمي)



Twilio هي واحدة من أشهر الخدمات لإرسال الرسائل القصيرة والرسائل الصوتية وغيرها من وسائل الاتصال. لديها وثائق ممتازة وحزمة NuGet رسمية.



تثبيت المكتبة

أضف الحزمة عبر NuGet Package Manager أو نفذ الأمر التالي:

dotnet add package Twilio


مثال لإرسال رسالة قصيرة باستخدام C#

using Twilio;using Twilio.Rest.Api.V2010.Account;using Twilio.Types;

public class SmsService{ // قم بتحديد Account SID و Auth Token من لوحة تحكم Twilio private readonly string _accountSid = "YOUR_ACCOUNT_SID"; private readonly string _authToken = "YOUR_AUTH_TOKEN"; private readonly string _fromPhone = "+1234567890"; // الرقم الذي تم شراؤه من Twilio

public async Task<bool> SendSmsAsync(string toPhone, string message) { TwilioClient.Init(_accountSid, _authToken);

try { var msg = await MessageResource.CreateAsync( body: message, from: new PhoneNumber(_fromPhone), to: new PhoneNumber(toPhone) ); Console.WriteLine($"تم إرسال الرسالة القصيرة! المعرف (SID): {msg.Sid}"); return true; } catch (Exception ex) { Console.WriteLine($"خطأ: {ex.Message}"); return false; } }}


هام: يجب تأكيد رقم المرسل في حساب Twilio. بالنسبة للحسابات التجريبية، يتم إرسال الرسائل القصيرة فقط إلى الأرقام الموثقة.



2. إرسال الرسائل القصيرة عبر Vonage (المعروفة سابقاً باسم Nexmo)



Vonage هو موفر سحابي قوي آخر. واجهة API الخاصة به بسيطة، ويمكن تثبيت الحزمة بسهولة عبر NuGet.



تثبيت المكتبة

dotnet add package Vonage


مثال لإرسال رسالة قصيرة

using Vonage;using Vonage.Request;using Vonage.Messaging;

public class VonageSmsService{ private readonly string _apiKey = "YOUR_API_KEY"; private readonly string _apiSecret = "YOUR_API_SECRET"; private readonly string _from = "YourApp"; // اسم المرسل

public async Task<bool> SendSmsAsync(string toPhone, string message) { var credentials = Credentials.FromApiKeyAndSecret(_apiKey, _apiSecret); var client = new VonageClient(credentials);

var request = new SendSmsRequest { To = toPhone, From = _from, Text = message };

var response = await client.SmsClient.SendAnSmsAsync(request);

if (response.Messages[0].Status == "0") { Console.WriteLine($"تم إرسال الرسالة القصيرة! المعرف: {response.Messages[0].MessageId}"); return true; } else { Console.WriteLine($"خطأ: {response.Messages[0].ErrorText}"); return false; } }}


ملاحظة: قد يتطلب الإرسال إلى الأرقام الروسية إعداداً إضافياً لاسم المرسل (Alpha Name).



3. إرسال الرسائل القصيرة عبر SMSC.ru (خدمة روسية)



إذا كان جمهورك يتركز بشكل أساسي في روسيا ورابطة الدول المستقلة، فقد يكون SMSC.ru خياراً أكثر ملاءمة وأقل تكلفة. لا يلزم وجود مكتبة - يكفي طلب HTTP.



مثال للإرسال عبر HttpC

توصيات