Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> sms рассылка, реализация 
:(
    Опции темы
broker_001
  Дата 22.10.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Сразу скажу что программа не для спама, просто я староста и надо постоянно своих студентов оповещать о изменении в расписании и много других вопросов))
я нашел пример программы, немного дополнил вот
работает просто через smtp сервер отправляет на mail шлюз опсоса (оператора сотовой связи)и он в сою очередь перенаправляет на тел.
пример сделал тока вот у меня возникает вопрос:
как сделать именно программу чтоб она отсылала не каждому в отдельности письмо (.т.к. это долго, потомучто сервер smtp не дает часто  отправлять, защита от спама? тока через некоторое время)
а сразу всему списку контактов.
тоесть идея есть но реализовать не хватает опыту на Delphi/
идея такова:
 1.ставим таймер на 20 сек и он берет из ашего списка контактов первого в списке отправляет то что находится допустим в мемо, ждет 20 сек и отправляет второму в списке, только дело в том что ненаю как это реализовать программно.
2. ах да чуть не забыл, на данный момент приходят смс тока на латиннице, а как сделать в кириллице, слышал что надо в utf-8 вроде как? может кто  подскажет? новичку?

исходник в приложении

Присоединённый файл ( Кол-во скачиваний: 41 )
Присоединённый файл  sms_send.rar 11,95 Kb
PM MAIL   Вверх
InfectedM
Дата 22.10.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 21.10.2007

Репутация: нет
Всего: нет







for a:=0 to memo1.lines.count do
begin
sleep(20000);//20 сеек
showmessage(memo1.Lines[a]);//
end;
 end;

Может быть вот так?
PM MAIL   Вверх
broker_001
Дата 5.11.2007, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 31.7.2007

Репутация: нет
Всего: нет



Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons, IdComponent, IdTCPConnection,
  IdTCPClient, IdMessageClient, IdSMTP, IdMessage, IdBaseComponent,
  IdAntiFreezeBase, IdAntiFreeze, inifiles, ComCtrls;

type
  TForm1 = class(TForm)
    IdAntiFreeze1: TIdAntiFreeze;
    IdMessage1: TIdMessage;
    IdSMTP1: TIdSMTP;
    MsgText: TMemo;
    Send: TSpeedButton;
    Host: TLabeledEdit;
    Port: TLabeledEdit;
    Login: TLabeledEdit;
    Pass: TLabeledEdit;
    email: TLabeledEdit;
    Recipient: TLabeledEdit;
    Auth: TCheckBox;
    Provider: TComboBox;
    StatusBar1: TStatusBar;
    procedure SendClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure MsgTextChange(Sender: TObject);
  private
    { Private declarations }
    function CompileAddress():string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}





{ TForm1 }

procedure TForm1.SendClick(Sender: TObject);
begin
idSMTP1.host:=host.Text;
idSMTP1.Port:=strtoint(port.Text);
idSMTP1.Username:=login.Text;
idSMTP1.Password:=pass.Text;
if auth.Checked then
idSMTP1.AuthenticationType:=atLogin else
idSMTP1.AuthenticationType:=atNone;
idMessage1.Body:=msgText.Lines;
idMessage1.Sender.Address:=email.Text;
idMessage1.Recipients.EMailAddresses:=CompileAddress;
try
idSMTP1.Connect();
if idSMTP1.Connected then
begin
idSMTP1.Send(idMessage1);
idSMTP1.Disconnect;
end;
except
end;
 end;
procedure TForm1.FormCreate(Sender: TObject);
var
ini:TiniFile;
begin
MsgText.Lines.Clear;
//Начинаем загрузку почтовых настроек
ini:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'prov.ini');
//загружаем настрйки в программу
auth.Checked:=ini.ReadBool('mail','auth',true);
email.Text:=ini.ReadString('mail','email','e-mail');
host.Text:=ini.ReadString('mail','host','host');
port.Text:=ini.ReadString('mail','port','port');
login.Text:=ini.ReadString('mail','login','login');
pass.Text:=ini.ReadString('mail','pass','password');
//загружаем список операторов через запятую
provider.Items.CommaText:=ini.ReadString('main','provider_list','');
//выгружаем файл настроек
ini.Free;
end;
function TForm1.CompileAddress: string;
var
ini:Tinifile;
prefix, domain, number:string;
begin
ini:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'prov.ini');
prefix:=ini.readString(provider.Text,'domain','nothing');
ini.free;
//проверка коректности данных в переменных
if not (domain=emptystr) and not (domain='nothing') and not (prefix=emptystr) and not (prefix='nothing')
then
begin
//если данные подходят производим компиляцию
number:=prefix+Recipient.Text+'@'+domain;
result:=number;
end
else
begin
//если данные не подходят сообщение юзиру
MessageDlg('Вы выбрали ненастроенного оператора! Настройте его или выберите другого.',mtError,[mbOk],0);
exit;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
ini:Tinifile;
begin
//при выходе начинают сохранятся настройки
ini:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'prov.ini');
//записываем настройки
ini.WriteBool('mail','auth',auth.Checked);
ini.WriteString('mail','email',email.Text);
ini.WriteString('mail','host',host.Text);
ini.WriteString('mail','port',port.Text);
ini.WriteString('mail','login',login.Text);
ini.WriteString('mail','pass',pass.Text);
//усё сохранено тока нада выгрузить файл настроек
ini.Free;
end;

procedure TForm1.MsgTextChange(Sender: TObject);
begin
if length(msgText.Text) < 160 then
begin
statusBar1.SimpleText:='Символ '+IntToStr(length(msgText.Text))+' из 160';
end else
begin
statusBar1.SimpleText:='Слимшком много символов! Символ '+IntToStr(length(msgText.Text))+' из 160';
end;
end;
end.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0771 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.