ارسال sms از طریق وب سرویس در Asp.net Core
سلام دوستان قصد دارم در بخشی از سایتم که با استفاده از Asp.net Core برای کاربران Sms ارسال کنم. لطفا راهنمایی بفرمایید ارسال sms از طریق وب سرویس در Asp.net Core به چه صورتی هست و چه کاری رو باید انجام بدم ؟
از شرکتی که وب سرویس رو خریداری میکنین، خودشون کدهایی که باید استفاده کنین رو در اختیارتون میذارن.
من خودم از شرکت کاوه نگار وب سرویس رو گرفتم.
1000 تومان هم اعتبار آزمایشی رایگان در اختیارتون میذارن تا سرویس رو تست کنین
ارسال sms از طریق وب سرویس در Asp.net Core
برای ارسال پیامک در Asp.net Core ابتدا نیاز هست که از شرکتهای ارائه دهنده یک پنل پیامکی خریداری کنید. برای این منظور سایتهای زیادی هستن که خدمات پیامکی ارائه میدن. مثل کاوه نگار، sms.ir، و ... که با یک سرچ ساده در گوگل میتونید لیستی از اونها رو پیدا کنید.
ارسال sms از طریق وب سرویس در Asp.net Core به صورت عملی
خب حالا یک مثال عملی از ارسال پیامک در Asp.net Core رو با هم می بینیم. در ابتدا شما باید یک پروژه از نوع وب و با Asp.net Core ایجاد کرده باشید. فرض می کنیم که از سایت کاوه نگار هم یک پنل تهیه کرده اید.
- ابتدا یک پوشه به نام CommonServices در پروژه خود ایجاد کنید. در این پوشه یک کلاس به نام SmsSender و یک Interface به نام ISmsSender ایجاد کنید.
- در کلاس SmsSender برای ارسال پیامک کدهای زیر را بنویسید.
public class SmsSender : ISmsSender
{
public async Task<string> SendSmsAsync(string message, string PhoneNumber)
{
try
{
HttpClient httpClient = new HttpClient();
var httpResponse = await httpClient.GetAsync($"https://api.kavenegar.com/v1/YourCode/sms/send.json?receptor={PhoneNumber}&sender=YourNumber&message={message}");
if (httpResponse.StatusCode == HttpStatusCode.OK)
return "Success";
else
return "Failed";
}
catch
{
return "Error";
}
}
}
در قسمتی از کدهای بالا YourCode باید رشته مخصوص خودتون رو که از سایت دریافت می کنید رو قرار بدید. در بخش YourNumber هم باید شماره خطی که قرار است با آن پیامک ارسال شود و از پنل خود دریافت کرده اید را بنویسید.
- در اینترفیس ISmsSender هم کدهای زیر را بنویسید.
public interface ISmsSender
{
Task<string> SendSmsAsync(string message, string PhoneNumber);
}
- خب در اینجا یک کلاس و یک اینترفیس داریم که تشکیل یک Service را می دهند. بنابراین باید در کلاس startup این سرویس را تعریف و راه اندازی کنیم. در کلاس startup و در متد ConfigureService کد زیر را قرار دهید:
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<ISmsSender, SmsSender>();
services.AddControllersWithViews();
}
- خب در حال حاضر شما به راحتی میتوانید از ارسال پیامک در پروژه خودتون استفاده کنید. کافیه که در هر کنترلی که میخواید پیامک ارسال کنید یک نمونه از Interface رو ایجاد کنید و پیامک خودتون رو ارسال کنید:
public class HomeController : Controller
{
private readonly ISmsSender _smsSender;
public HomeController(ISmsSender smsSender)
{
_smsSender = smsSender;
}
[HttpPost]
public async Task<IActionResult> Register(string message, string PhoneNumber)
{
//
await _smsSender.SendAuthSmsAsync(message, PhoneNumber);
}
}
به این ترتیب شما میتونید عملیات ارسال sms از طریق وب سرویس در Asp.net Core رو به راحتی انجام بدید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2