Image دات نت

آموزش ارسال SMS رایگان در سی شارپ

آموزش ارسال SMS رایگان در زبان برنامه نویسی سی شارپ با استفاده از API

سلام دوستان

در این مقاله آموزشی قصد داریم با سی شارپ sms بفرستیم (کاملا رایگان)

اول از همه یک پروژه ASP.NET Web Application (.NET Framework) و یا windows forms بسازید که ما اینجا از اولی استفاده میکنی

بعد از اتمام ساخت پروژه باید کتاب خانه Nexmo.Csharp.Client را نصب کنید

 

بعد از آن باید به وب سایت Nexmo بروید تا api خودتان را بسازید

برای اینکار کلمه Nexmo sms service رو سرچ کنید و وارد سایتشون بشین و اکانت بسازید

پس از ساخت موفقیت آمیز اکانت به صفحه ی زیر منتقل خواهیم شد.

اضافه کردن فایل appsettings 

در اینجا نیاز داریم که یک فایل JSON جدید به نام appsettings اضافه کنیم. حال در این فایل باید گواهینامه های API که در تصویر قبل تولید شدند را کپی و paste کنیم.

Appsettings.json

{  
  "appSettings": {  
    "Nexmo.UserAgent": "NEXMOQUICKSTART/1.0",  
    "Nexmo.Url.Rest": "https://rest.nexmo.com",  
    "Nexmo.Url.Api": "https://api.nexmo.com",  
    "Nexmo.api_key": "11549690",  
    "Nexmo.api_secret": "9c9e31d1d207a5da",  
    "NEXMO_FROM_NUMBER": "YOUR_PHONE_NUMBER"  
  }  
}  

ساخت یک controller

حال می خواهیم یک controller بسازیم. روی پوشه ی controllers راست کلیک کنید >> Add >> Controller >> MVC 5 Controller – Empty را انتخاب کنید >> روی Add کلیک کنید. در dialog بعدی نام Controller را SMSMessageController بگذارید و سپس روی Add کلیک کنید.

کد کنترلر sms

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.Mvc;  
using Nexmo.Api;  
using SendSMSMessages.ViewModels;  
  
namespace SendSMSMessages.Controllers  
{  
    public class SMSMessageController : Controller  
    {  
        // GET: SMSMessage  
        public ActionResult Index()  
        {  
            return View();  
        }  
  
        [HttpGet]  
        public ActionResult SendMessage()  
        {  
            return View();  
        }  
  
        [HttpPost]  
        public ActionResult SendMessage(Message message)  
        {  
            var results = SMS.Send(new SMS.SMSRequest  
            {  
                from = Configuration.Instance.Settings["appsettings:NEXMO_FROM_NUMBER"],  
                to = message.To,  
                text = message.ContentMsg  
            });  
  
  
            return View();  
        }  
    }  
}  

صفحه SendMessage.cshtml

@model SendSMSMessages.ViewModels.Message  
  
@{  
    ViewBag.Title = "SendMessage";  
}  
  
<h2>Send Message</h2>  
  
@using (Html.BeginForm())   
{  
    @Html.AntiForgeryToken()  
      
    <div class="form-horizontal">  
        <h4>Message</h4>  
        <hr />  
        @Html.ValidationSummary(true, "", new { @class = "text-danger" })  
        <div class="form-group">  
            @Html.LabelFor(model => model.To, htmlAttributes: new { @class = "control-label col-md-2" })  
            <div class="col-md-10">  
                @Html.EditorFor(model => model.To, new { htmlAttributes = new { @class = "form-control" } })  
                @Html.ValidationMessageFor(model => model.To, "", new { @class = "text-danger" })  
            </div>  
        </div>  
  
        <div class="form-group">  
            @Html.LabelFor(model => model.ContentMsg, htmlAttributes: new { @class = "control-label col-md-2" })  
            <div class="col-md-10">  
                @Html.EditorFor(model => model.ContentMsg, new { htmlAttributes = new { @class = "form-control" } })  
                @Html.ValidationMessageFor(model => model.ContentMsg, "", new { @class = "text-danger" })  
            </div>  
        </div>  
  
        <div class="form-group">  
            <div class="col-md-offset-2 col-md-10">  
                <input type="submit" value="Send SMS" class="btn btn-default" />  
            </div>  
        </div>  
    </div>  
}  
  
<div>  
    @Html.ActionLink("Back to List", "Index")  
</div>  
  
@section Scripts {  
    @Scripts.Render("~/bundles/jqueryval")  
}  

 

پایان.