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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 21:34   #1
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию Отправка письма через SMTP

Все пашет, только если авторизация неверна, пишет соответствующую ошибку, но при новой попытке выдает, мол соединение уже установлено. Приходится открывать прогу заново. Как исправить?
Спасибо!
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
idsmtp1.Username:=edit1.Text;
idsmtp1.Password:=edit2.Text;
idsmtp1.Host:=ComboBox1.Text;
idsmtp1.Connect();
sleep(1000);

{не помогают
if idsmtp1.Username = '' then idsmtp1.Disconnect;
if idsmtp1.Password = '' then idsmtp1.Disconnect;
if idsmtp1.Host = '' then idsmtp1.Disconnect;
}

idmessage1.Recipients.EMailAddresses:=edit3.text;
idmessage1.Subject:=edit4.Text;
idmessage1.Body:=memo1.Lines;
idmessage1.From.Address:=edit3.Text;
idsmtp1.Send(idmessage1);
IdSMTP1.Disconnect;
ShowMessage('Успешно!');
end;

Последний раз редактировалось rpy3uH; 26.04.2012 в 19:34.
GrabbeR вне форума Ответить с цитированием
Старый 22.04.2012, 21:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if edit1.Text = '' then begin ShowMessage('Введите имя пользователя');exit;end;
 if edit2.Text = '' then begin ShowMessage('Введите пароль');exit;end;
 if ComboBox1.Text; = '' then ShowMessage('Выберите хост');exit;end;
 idsmtp1.Username:=edit1.Text;
 idsmtp1.Password:=edit2.Text;
 idsmtp1.Host:=ComboBox1.Text;
 idmessage1.Recipients.EMailAddresse s:=edit3.text;
 idmessage1.Subject:=edit4.Text;
 idmessage1.Body:=memo1.Lines;
 idmessage1.From.Address:=edit3.Text ;
 try
  idsmtp1.Connect();
  idsmtp1.Send(idmessage1);
  ShowMessage('Успешно!');
 except
  on E:Exception do ShowMessage('Ошибка:'#13#10+E.Message);
 end;
 IdSMTP1.Disconnect;
end;
поидее как то так.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.04.2012, 21:53   #3
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию

не канает даже если все данные верно введены
GrabbeR вне форума Ответить с цитированием
Старый 22.04.2012, 22:33   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что выдает?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.04.2012, 02:49   #5
GrabbeR
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 43
По умолчанию

не правильно эдиты вписал... вместо
idmessage1.From.Address:=edit3.Text
надо
idmessage1.From.Address:=edit1.Text ;

теперь все ок, спасибо!
GrabbeR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка e-mail сообщения с форматированием через SMTP chandrasecar Работа с сетью в Delphi 1 10.09.2014 21:29
Отправка через smtp.live.com iskurt Помощь студентам 0 07.11.2010 12:59
Отправка файлов через smtp BoT_T Работа с сетью в Delphi 0 24.09.2010 11:53
Отправка почты (smtp) через proxy dimonbest Работа с сетью в Delphi 9 20.06.2008 14:07
Отправка через SMTP Hottabych Работа с сетью в Delphi 3 09.02.2008 15:18