Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 11:33   #1
Xaker2650
 
Регистрация: 26.12.2011
Сообщений: 5
По умолчанию Кто может памоч с рассыльщиком

Доброе время суток всем!
Я пишу расыльщик, сегодня всю ночь не спал весь мог свой проколупал(.
Я его написал работает норм но есть одна проблема она заключается в кодировке, первые письма отсылаются с темой No Subject, а если повторно рассылку делаешь то тема в письмах появляется. В чём тут загвоздка понять не могу, вроде код накарябал правильно .
Вот сам код:

Код:
procedure TForm1.Button4Click(Sender: TObject);
var
b: integer;
idtTextPart : TIdText;
begin
SMTP.Host:= Edit1.Text; 
SMTP.Port:=StrToInt(Edit2.Text);
SMTP.Username:=Edit3.Text;
SMTP.Password:=MaskEdit1.Text;
SMTP.AuthenticationType:=atLogin;
with IdMessage1 do
begin
IdMessage1.From.Text:=Edit4.Text;
IdMessage1.ContentType:='Content-Type: text/html'; 
IdMessage1.CharSet:='windows-1251'; 
IdMessage1.ContentType:= 'multipart/mixed'; 
idtTextPart := TIdText.Create(IdMessage1.MessageParts, nil); 
idtTextPart.ContentType:='multipart/alternative'; 
idtTextPart:= TIdText.Create(IdMessage1.MessageParts, nil); 
idtTextPart.ContentType := 'text/html'; 
idtTextPart.Body.Add(Memo2.Text);
IdMessage1.AddHeader('Subject:'+Edit5.Text); 
Try 
SMTP.Connect();
If SMTP.Connected = true Then   
begin
ShowMessage('Подключение к SMTP серверу прошло успешно!');
Label8.Caption:='Подключен';
Label8.Font.Color:=clGreen;
end
Else
ShowMessage('Не Удалось соединиться с SMTP сервером!');
IdMessage1.AddHeader('To:'+ListBox1.Items.Strings[0]);   
IdMessage1.IsEncoded:=True; 
For b:=0 to ListBox1.Items.Count-1 Do   
Begin
try
IdMessage1.Recipients.EMailAddresses:=ListBox1.Items.Strings[b]; 
ProgressBar1.Position:=b;
SMTP.Send(IdMessage1); 
Memo1.Lines.Add('Письмо по адресу: '+IdMessage1.Recipients.EMailAddresses+ ' отправлено успешно!'); 
except on E:Exception do
Begin
Memo1.Lines.Add('Письмо по адресу: '+IdMessage1.Recipients.EMailAddresses+'Не отправлено!ERROR- '+E.Message); 
Continue;
end;
end;
end;
finally
SMTP.Disconnect; 
Label8.Caption:='Отключен';
Label8.Font.Color:=clRed;
ShowMessage('Отправка завершена!');
ProgressBar1.Position:=0;

end;
 end;
 end;
end.
P.S: Извините за ошибки в русском не спал всю ночь …
Xaker2650 вне форума Ответить с цитированием
Старый 27.12.2011, 11:56   #2
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

попробуй за место
Код:
IdMessage1.AddHeader('Subject:'+Edit5.Text); 

IdMessage1.Subject(Edit5.Text);
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто может димон4ик_ Помощь студентам 1 15.10.2011 20:22
Где можно скачать Borland C++ или может кто-то может скинуть dani6 C++ Builder 11 19.02.2011 14:01
Кто может? Katte Фриланс 12 30.06.2010 14:09
Кто может... egoist_90 Общие вопросы Delphi 0 27.04.2010 07:04