Wysyłanie e-maili z użyciem komponentów INDY

0

Hej. Piszę dość duży program i jednym z jego funkcji ma być wysyłanie pracy na maila. Uznałem, że najlepiej użyć INDY. Wszystko wydaję się działać, jednak po uruchomieniu procedury wyświetla się komunikat: 5.7.0 Must issue a STARTTLS command first. y12sm246027935eeb.11

Source:

  if edit1.text='' then else begin
       IdSMTP1.port:= 25;
IdSMTP1.Host:= 'smtp.gmail.com';
IdSMTP1.Username:= '[email protected]';
IdSMTP1.Password:= 'hasłoemailaprogramu';
IdSMTP1.AuthenticationType:= atLogin;
IdMessage1.Clear;

IdSMTP1.Connect;
IdMessage1.From.Address:= '[email protected]';
IdMessage1.Recipients.EMailAddresses:=adresodbiorcy;
IdMessage1.Subject:= 'Keys';

IdMessage1.Body.Append(memo1.Text);

IdSMTP1.Send(IdMessage1);

IdSMTP1.Disconnect;

Czy ktoś widzi, gdzie jest bug?

1

I OCZYWIŚCIE SZUKAŁEŚ I OCZYWIŚCIE NIGDZIE NIE BYŁO...
to teraz krok po kroku

  1. jak to czytasz to przeglądarkę masz uruchomioną więc pomijamy ten krok\
  2. otwierasz nowe okno/kartę
  3. w pasku adresu wpisujesz google.pl i wciskasz enter
  4. w pasku wyszukiwania google wpisujesz INDY STARTTLS i wciskasz enter
  5. patrzysz jakie masz wyniki. Hmm może np. taki Indy Knowlege Base - klikasz w link
  6. ponieważ jesteś leniwy (co udowodniłeś tym postem) to zamiast szukać wciskasz CTRL+F i wpisujesz STARTTLS - znajdujesz niewiele mówiący link opisany jako I am using the TIdSMTP but when I try to send mail I get an error message such as: "530 Must issue a STARTTLS command first - może by go kliknąć
  7. czytasz co tam napisali i to stosujesz

Czy obrazki chcesz czy poradzisz sobie z tekstem?

0

sprawdziłbyś jak łączyć się z smtp googla
http://support.google.com/mai[...]wer.py?hl=pl&answer=13287

a i zajebisty masz kod

if edit1.text='' then else begin
a można jeszcze tak
 if edit1.text <> '' then begin
albo 
if not edit1.text='' then begin

ale ty podstaw nie znasz
i ty piszesz większy projekt ?

Misiekd zapomniałeś o translate.google.pl bo koleś ang na pewno nie zna ;]

0

Jak widzę próbujesz połączyć się z kontem na gmail'u, a nie wiem czy wiesz ,tak jak jest napisane w ich pomocy, aby się połączyć, musisz zapewnić połączenie szyfrowane. Tutaj masz temat : Jak SKUTECZNIE wysyłać email z poziomu Delphi7? w jednym z moich postów jest link do napisanego przeze mnie klienta POP3 & SMTP, zobacz tam co i jak działa.

0

MOŻNA MIEĆ NIE SZYFROWANE !
Use Authentication: Yes (Użyj uwierzytelnienia: Tak)
Port for TLS/STARTTLS (Port dla połączeń TLS/STARTTLS): 587
Port for SSL (Port dla połączeń SSL): 465

Jeszcze parę lat temu port 25 był dla SMTP jako nie szyfrowany teraz jest 587 w większości serwerów !

0

Na serio, wielkie dzięki Golden_Mind. Tym razem wystąpiłem inne bugi z niekompletną biblioteką. Wszystko załatałem, ale powstałam następny problem: Undeclared identifier TIdBytes

0

Na formę kładziemy komponenty z zestawu Indy 9
IdSMTP
IdMessage


IdSMTP.port:= 587;                       // Port SMTP
IdSMTP.Host:= 'smtp.';            // Host SMTP
IdSMTP.Username:= 'pl';        // Nazwa użytkownika
IdSMTP.Password:= 'yyy';            // Hasło

IdMessage.Clear;                         // Dla pewności czyścimy formę wiadomości
IdMessage.From.Address:= 'l'; // Od kogo jest mail
                                         // Do kogo wysyłamy maila
IdMessage.Recipients.EMailAddresses:='proqi';
IdMessage.Subject:= 'pro';      // Tytuł
IdMessage.Body.Append(memo1.Text);       // Treść

//Opcjonalnie załcznik jak potrzeba     // <----------------
TIdAttachment.Create(IdMessage.MessageParts, 'C:\boot.ini');

IdSMTP1.AuthenticationType:=atLogin;     // autoryzacja SMTP
IdSMTP1.Connect;                         // Połączenie do servera SMTP
 try
  IdSMTP1.Send(IdMessage);               // Wysyłanie Maila
 finally
  IdSMTP1.Disconnect;                    // Rozłączanie z serverem SMTP
 end;

Ja tym wysłałem wiadomość z mojego konta gmail na o2

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0