![]() |
|
#1
|
|||
|
|||
![]() Как отправить письмо на электронную почту?
|
#2
|
|||
|
|||
![]() Смотря что тебе надо:
1. Из клиента: а) просто ShellExecute(...,PChar('mailto:address@server.ru') ,...); б) сформировав тело, прицепив файлы и т.д. - SimpleMAPI 2. Полностью сам - качай демо по Indy (www.indyproject.org) с прямой доставкой или просто SMTP и вперед. |
#3
|
|||
|
|||
![]() есть код:
Цитата:
|
#4
|
|||
|
|||
![]() Ну а сам ты как думаешь?
Ты уверен, что по этому адресу вообще есть почтовый сервер? Не считая того, что некоторые СМТП требуют авторизации. Но скорее всего у тебя вылетает Time Out, т.е. по этому адресу нету почтового сервера или он живет на нестандартном порту. |
#5
|
|||
|
|||
![]() ну что мне тогда надо писать в хосте, если у меня почта на мейле?
|
#6
|
|||
|
|||
![]() smtp.mail.ru
|
#7
|
|||
|
|||
![]() Ещё один вопрос. в delphiworld нашёл статью, там код:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin with NMSMTP1 do begin Host := 'smtp.mailserver.com'; UserID := '___Nikolay'; Connect; PostMessage.FromAddress := 'DelphiWorld@mail.ru'; PostMessage.ToAddress.Text := 'bestprogramming@mail.ru'; PostMessage.Body.Text := 'Текст письма'; PostMessage.Subject := 'Тема письма'; SendMail; end; end; Вот картинка http://avoreg.ru/v.php?id=da52f99ca4...f7230beae62953 Последний раз редактировалось Admin, 24.05.2008 в 21:12. |
#8
|
|||
|
|||
![]() Ну пусть не вылазит.
Вводи просто без подсказок.а если после запуска выдаст ошибку что не знает PostMessage то компонент левый |
#9
|
|||
|
|||
![]() Да вы что можно проще..
Цитата:
так как сервер требует авторизации укажи еще и пароль к пользователю. И еще тело сообщения и тема тоже нужны) |
#10
|
|||
|
|||
![]() В Delphi 7 и 2007 писал от руки:
Цитата:
|
#11
|
|||
|
|||
![]() ещё пробовал вот так:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin host:='smtp.'+combobox1.Text; from:=edit1.Text+'@'+combobox1.Text; if IdSMTP1.Connected=true then IdSMTP1.Disconnect; IdSMTP1.Host:=host; IdSMTP1.Username:=edit1.Text; IdSMTP1.Password:=edit2.Text; IdSMTP1.Connect; if IdSMTP1.Connected then begin label4.Caption:='Состояние: Готово'; edit3.Enabled:=true; edit4.Enabled:=true; memo1.Enabled:=true; label5.Enabled:=true; label6.Enabled:=true; label7.Enabled:=true; button2.Enabled:=true; end else label4.Caption:='Состояние: Ошибка'; end; procedure TForm1.Button2Click(Sender: TObject); begin IdSMTP1.QuickSend(host,edit4.Text,edit3.Text,from,memo1.Text); end; Последний раз редактировалось Admin, 24.05.2008 в 21:11. |
#12
|
|||
|
|||
![]() значит такого метода нет в компоненте.Поищи другие методы для отправки почты.
|
#13
|
|||
|
|||
![]() SMTP.Send(Msg)
Msg - компонент сообщения |
#14
|
|||
|
|||
![]() Разобрался. Теперь возник ещё пара вопросов. Вот код
Код:
procedure TForm1.Button1Click(Sender: TObject); begin if IdSMTP1.Connected then IdSMTP1.Disconnect; IdSMTP1.Host:='smtp.'+combobox1.Text; IdSMTP1.Username:=edit1.Text; IdSMTP1.Password:=edit2.Text; IdSMTP1.Connect; if IdSMTP1.Authenticate=true then begin label4.Caption:='Состояние: Готово'; edit3.Enabled:=true; edit4.Enabled:=true; memo1.Enabled:=true; label5.Enabled:=true; label6.Enabled:=true; label7.Enabled:=true; button2.Enabled:=true; end else label4.Caption:='Ошибка в логине или в пароле'; end; 2. После первой авторизации второй раз авторизироваться нельзя. Почему? Помогите пожалуйста. Заранее спасибо. Последний раз редактировалось Admin, 24.05.2008 в 21:11. |
#15
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); begin if IdSMTP1.Connected then begin IdSMTP1.Disconnect; IdSMTP1.Host:='smtp.'+combobox1.Text; IdSMTP1.Username:=edit1.Text; IdSMTP1.Password:=edit2.Text; IdSMTP1.Connect; if IdSMTP1.Authenticate=true then begin begin label4.Caption:='Состояние: Готово'; edit3.Enabled:=true; edit4.Enabled:=true; memo1.Enabled:=true; label5.Enabled:=true; label6.Enabled:=true; label7.Enabled:=true; button2.Enabled:=true; end else label4.caption:='Состояни: НеГотово'; end else label4.Caption:='Ошибка в логине или в пароле'; end; Вот так попробуй, хотя я писал прямо здесь, могу и ошибаться |