Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

invio mail con INDY

445 views
Skip to first unread message

li...@daddio.it

unread,
Apr 8, 2017, 8:32:42 AM4/8/17
to
vorrei fare un programmino per mandare una mail senza usare il client di posta elettronica.
ecco il semplicissimo codice (che però non funziona)

var
SMTP: TIdSMTP;
MSG: TIdMessage;


procedure TForm1.Button2Click(Sender: TObject);
begin
SMTP.Host := 'smtps.aruba.it';
SMTP.UserId := 'nomec...@miodominio.it';
SMTP.Password := XXXXXXX';
SMTP.AuthenticationType := atLogin;
SMTP.Port := 465;
SMTP.Connect;

MSG.From.Address := 'nomec...@miodominio.it';
MSG.Recipients.EMailAddresses := 'destin...@mail.it;
MSG.Subject := 'Oggetto';
MSG.Body.Text := 'corpo testo mail';
SMTP.Send(MSG);
form1.Caption := 'messaggio spedito';
end;

il programma si blocca inesorabilmente a SMTP.Connect e non capisco il perché
qualche suggerimento?
grazie

Arcanauta

unread,
Apr 8, 2017, 9:00:03 AM4/8/17
to
Secondo me, dopo SMTP.AuthenticationType := atLogin manca SMTP.Authenticate;

li...@daddio.it

unread,
Apr 8, 2017, 9:09:49 AM4/8/17
to
se metto SMTP.Authenticate subito dopo SMTP.AuthenticationType... nemmeno arrivo a compilare la riga SMTP.Connect perché delphi si blocca proprio su SMTP.Authenticate dicendo
eaised esception class EldConnClosedGracefully with message 'Connection Closed Gracefully

Morde

unread,
Apr 10, 2017, 4:36:27 AM4/10/17
to
On 08.04.2017 15:09, li...@daddio.it wrote:
> se metto SMTP.Authenticate subito dopo SMTP.AuthenticationType... nemmeno arrivo a compilare la riga SMTP.Connect perché delphi si blocca proprio su SMTP.Authenticate dicendo
> eaised esception class EldConnClosedGracefully with message 'Connection Closed Gracefully
>

Closed gracefully vuol dire che il tuo utente ha qualcosa che non va.
Il dominio è lo stesso

--
Morde

Morde

unread,
Apr 10, 2017, 4:38:14 AM4/10/17
to
On 08.04.2017 15:09, li...@daddio.it wrote:
> se metto SMTP.Authenticate subito dopo SMTP.AuthenticationType... nemmeno arrivo a compilare la riga SMTP.Connect perché delphi si blocca proprio su SMTP.Authenticate dicendo
> eaised esception class EldConnClosedGracefully with message 'Connection Closed Gracefully
>

http://www.swissdelphicenter.ch/en/showarticle.php?id=1

--
Morde

li...@daddio.it

unread,
Apr 11, 2017, 10:38:48 AM4/11/17
to
che significa il dominio è lo stesso???
lo stesso di cosa?
cmq io ho solo un dominio con le email associate
fatto sta che non riesco a mandare email

Daniele

unread,
Apr 12, 2017, 3:18:15 AM4/12/17
to
Ciao,

> vorrei fare un programmino per mandare una mail senza usare il client di
> posta elettronica.
> ecco il semplicissimo codice (che però non funziona)

> il programma si blocca inesorabilmente a SMTP.Connect e non capisco il
> perché
> qualche suggerimento?

probabilmente non c'entra niente con il tuo problema, comunque ti riporto
quello che mi e' capitato.
Nel mio programma, quando serve o per decisione dell'utente (ovvero io), il
programma manda (in automatico) un'email.
Anziche' aruba, la casella di posta e' appoggiata su yahoo.
Tutto funzionava bene fino a circa un anno fa, improvvisamente ha smesso di
funzionare e, sulla connect, restituiva qualche eccezione.
Per poter rimandare il messaggio via email ho dovuto implementare, nella
procedura di invio mail, i protocolli SSL.
Dopo quello, ha ripreso tutto a funzionare.

Prova a verificare l' SSL (molto probabile che nel tuo caso non sia questo
!!).

Ciao

Daniele


li...@daddio.it

unread,
Apr 12, 2017, 1:15:55 PM4/12/17
to
può darsi... ma come facci a implementare i protocolli SSL????? hai qualche riferimento?

alessandrob

unread,
Apr 13, 2017, 3:20:17 AM4/13/17
to
Il giorno mercoledì 12 aprile 2017 19:15:55 UTC+2, li...@daddio.it ha scritto:
> può darsi... ma come facci a implementare i protocolli SSL????? hai qualche riferimento?

Puoi partire dai suggerimenti di Marco Cantu
http://www.marcocantu.com/tips/oct06_gmail.html

Daniele

unread,
Apr 13, 2017, 3:31:47 AM4/13/17
to
Ciao,

> può darsi... ma come facci a implementare i protocolli SSL????? hai
> qualche riferimento?

Lo trovi sotto la palette

Indy I/O Handler

Lo importi nella tua form, lo configuri, compili e vedi cosa succede.

ciao

Daniele

PS: Ottimo il suggerimento di Alessandrob

li...@daddio.it

unread,
Apr 17, 2017, 11:40:20 AM4/17/17
to
Allora ho modificato il mio codice utilizzando ssl.. adesso il codice è:

IdSSLIOHandlerSocketOpenSSL1.Destination:=Setup.edSMTP.Text+' : 465';
IdSSLIOHandlerSocketOpenSSL1.Host:=Setup.edSMTP.Text;
IdSSLIOHandlerSocketOpenSSL1.MaxLineAction:=maException;
IdSSLIOHandlerSocketOpenSSL1.Port:=465;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvTLSv1;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode:=sslmUnassigned;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode:= [];
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth:= 0;
IdSMTP1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;
IdSMTP1.UseTLS:=utUseExplicitTLS;
IdSMTP1.Host := Setup.edSMTP.Text;
IdSMTP1.Username:= Setup.edUserID.Text;
IdSMTP1.Password := Setup.edPassword.Text;
IdSMTP1.Connect;


l'errore adesso me lo da al connect.... l'errore è:
raised exception class EIdSocketError with message Socket Error #10061 connection refused

qualcuno può darmi una mano????

0 new messages