Search code examples
c#winformstwilio-apibulksms

Send bulk SMS in twilio using C# Winforms


I need to know how do I send a bulk SMS using Twilio API and C#.I did some research which also show that I need to use Twilio’s Passthrough API, but I fail to understand it. Here is the code I compiled:

const string accountSid = "xxxxx";
const string authToken = "xxxxx";

TwilioClient.Init(accountSid, authToken);

MessageResource.Create(to: new PhoneNumber("+27" + txtTo.Text),
                       from: new PhoneNumber("xxxxx"),
                       body: txtMessage.Text,
                       provideFeedback: true,
                       statusCallback: new Uri("http://requestb.in/1234abcd"));

MessageBox.Show("Message sent successfully");

Solution

  • You can't do this way. You have to loop through your subscribers list and send it one by one or by using a parallel foreach:

    var subscriber = new Dictionary<string, string>() {
                {"+3912345678", "John"},
                {"+3917564237", "Mark"},
                {"+3915765311", "Ester"}
            };
    
    // Iterate over subscribers
    foreach (var person in subscriber)
    {
        // Send a new outgoing SMS by POSTing to the Messages resource
        MessageResource.Create(
            from: new PhoneNumber("555-555-5555"), // From number, must be an SMS-enabled Twilio number
            to: new PhoneNumber(person.Key), // To number, if using Sandbox see note above
            // Message content
            body: $"Hello {person.Value}");
    
        Console.WriteLine($"Sent message to {person.Value}");
    }