Для нижнего и верхнего регистра:
int index = (int)c % 32;
Самый простой способ - использовать SMS-шлюз, который предоставляет API. Ознакомьтесь с txtlocal
Если вы используете поставщика, такого как txtlocal, у вас есть 2 варианта - вы можете либо встроить расписание в свою систему, либо у вас может быть пакетный процесс, который отправляет sms-информацию и время, которое вы хотите он будет отправлен с использованием их API.
Взгляните на эту ссылку . Это дает отличную информацию. При этом, ИМО, проще использовать шлюз (как уже было предложено)
:)
Вот кое-что, что я придумал и похоже, работает хорошо:
public static void SendSMS(string from, string number, string subject, string message, SmtpClient smtp)
{
long.Parse(number);
List<string> domains = new List<string>(
"{N}.iws@iwspcs.net,{N}@airtelap.com,{N}@airtelkk.com,{N}@alertas.personal.com.ar,{N}@bplmobile.com,{N}@cingularme.com,{N}@clarotorpedo.com.br,{N}@comcel.com.co,{N}@cwemail.com,{N}@email.uscc.net,{N}@emtelworld.net,{N}@fido.ca,{N}@gocbw.com,{N}@gsm.sunrise.ch,{N}@ideasclaro-ca.com,{N}@iwirelesshometext.com,{N}@message.alltel.com,{N}@messaging.nextel.com,{N}@messaging.sprintpcs.com,{N}@mmode.com,{N}@mms.att.net,{N}@mms.bouyguestelecom.fr,{N}@mms.mymeteor.ie,{N}@mobile.celloneusa.com,{N}@mobiletxt.ca,{N}@movistar.com.co,{N}@msg.acsalaska.com,{N}@msg.gci.net,{N}@msg.globalstarusa.com,{N}@msg.iridium.com,{N}@msg.telus.com,{N}@msgnextel.com.mx,{N}@myboostmobile.com,{N}@myhelio.com,{N}@mymetropcs.com,{N}@page.att.net,{N}@page.nextel.com,{N}@pcs.rogers.com,{N}@qwestmp.com,{N}@sms.co.za,{N}@sms.ctimovil.com.ar,{N}@sms.mobitel.lk,{N}@sms.mycricket.com,{N}@sms.sasktel.com,{N}@sms.tigo.com.co,{N}@sms.t-mobile.at,{N}@text.aql.com,{N}@text.mtsmobility.com,{N}@tmomail.net,{N}@tms.suncom.com,{N}@torpedoemail.com.br,{N}@txt.att.net,{N}@txt.bell.ca,{N}@txt.bellmobility.ca,{N}@utext.com,{N}@vmobile.ca,{N}@vmobl.com,{N}@voda.co.za,{N}@vtext.com,+48{N}@text.plusgsm.pl,297+{N}@mas.aw,977{N}@sms.spicenepal.com,{N}@orange.pl,TwoWay.11{N}@nextel.net.ar,{N}@mmst5.tracfone.com"
.Replace("{N}", number).Split(','));
MailMessage mail = new MailMessage();
mail.From = new MailAddress(from);
mail.Subject = subject;
mail.Body = message;
domains.ForEach(d => mail.Bcc.Add(d));
smtp.Send(mail);
}
Домены были получены из здесь .
Используйте https://www.twilio.com/ .
Я использовал Clickatell в прошлом.
У них есть RESTfull API, что означает, что отправка в виде SMS так же проста, как создание URL-адреса с сообщением и номер телефона получателя.
Конечно, это не бесплатно, но чертовски дешево.
Что ж, вам либо нужно использовать шлюз SMS, как вы упомянули, либо приобрести GSM-модем PCI / USB, такой как этот , который позволяет отправлять тексты прямо с сервер.
Существует глобальный адрес электронной почты для шлюза SMS, который можно использовать в формате 00+countrycode+mobilenumber@smssturen.com т.е. 00447811111111@smssturen.com , и поместите сообщение в строку темы.
Более подробно это описано здесь: http://sites.google.com/site/emailtosmsgateway/
Dan.