Ну вот наконец-то, мы добрались и до отправке sms-сообщений через sms-шлюз средствами Delphi. Теоретическую часть sms-шлюза мы знаем, а также знаем как отправлять email-сообщения средствами Delphi. Это нам все и пригодится в данной статье. Давайте вспомним, что отправка sms-сообщений через sms-шлюз сводится к бональной отправки email-сообщения на эмаил пользователя сотовой связи. Но не будем забывать, что у того пользователя, которому мы отправляем sms-сообщения через sms-шлюз должна быть подключена данная услуга, иначе просто Вам на эмаил будет приходить письмо о том, что не была доставленое сообщение в связи с тем, тем и тем. Так что давайте отправлять сообщения с smtp-сервера Rambler. Тут все без разницы откуда отправлять, главное, чтобы работал sms-шлюз у данного абонента и оператора. Как всегда для начала мы создаем подключение, то есть подключаемся к нашему smtp-серверу. Для этого на событии формы OnCreate мы пишем следующий код
procedure TForm1.FormCreate(Sender: TObject);
begin
try
IdSMTP1.AuthenticationType:=atLogin;
IdSMTP1.Host:='smtp.rambler.ru';
IdSMTP1.Port:=25;
IdSMTP1.Username:='username@rambler.ru';
IdSMTP1.Password:='password';
IdSMTP1.Connect;
except
on e:Exception do
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
msg:TIdMessage;
begin
try
msg:=TIdMessage.Create(nil);
msg.Body.Add('test mail');
msg.Subject:='header message';
msg.From.Address:='punisher45@rambler.ru';
msg.From.Name:='Andrey';
msg.Recipients.EMailAddresses:='xxxxxxxxx@sms.mts.ru';
msg.IsEncoded:=True;
IdSMTP1.Send(msg);
msg.Free;
IdSMTP1.Disconnect;
except
on e:Exception do
begin
msg.Free;
IdSMTP1.Disconnect;
end;
end;
end;
Как видите в адрессате (куда отправляем сообщение) у нас указано адресс sms-шлюза, у каждого оператора он разный и записывается по-разному, для того, чтобы узнать как записывается, досточно зайти на сайт Вашего оператора и в разделе услуги или отправка sms-сообщений должно быть, что-то подобное. Либо просто позвонить своему оператору и уточнить, он обязательно Вам ответит. Либо еще как вариант набрать в поисковике «sms-шлюз mts«. Я не буду писать сюда, что выдает поисковик, потому, что он выдает информацию 2007 и 2008 года, того времени шлюзы, за это время могло все поменяться и изменится шлюзы, либо вообще отключить их мог оператор, так что непроверенную информацию я писать сюда не буду. Я вчера смог найти шлюз своего оператора и узнал, что для этого надо сделать, чтобы через него отсылать, так что тут проблем возникнуть не должно. А смысл отправки sms-сообщений через sms-шлюз я думаю понятен и вы уловили смысл.