Oppure

Loading
30/08/11 19:53
kaal
Salve a tutti,
avrei la necessità di inviare alcune email senza dovermi appoggiare ad un client specifico.
Ho pensato quindi di utilizzare le librerie Indy. In giro per la rete ho trovato decine di procedure per inviare email con allegati, ma non sono riuscito a farne funzionare una.
Premetto che il mio provider è TeleTu e che con Outlook Express non ho nessun problema per l'invio.
I parametri richiesti sono:
Host smtp: smtp.teletu.it
Porta: 587 (provata anche la 25)
autenticazione del server necessaria: SI
Il server necessita di una connessione protetta (SSL): SI

Con il codice sottoriportato mi viene rilevato il seguente errore:
'Error connecting with SSL'.
Qualcuno saprebbe dirmi come risolvere il problema.
Grazie.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, IdMessage, IdIOHandler, IdIOHandlerSocket,
IdSSLOpenSSL, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, Buttons;

type
TForm1 = class(TForm)
IdSMTP1: TIdSMTP;
IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket;
IdMessage1: TIdMessage;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
idSMTP1.Host := 'smtp.teletu.it ;
idSMTP1.Port := 587;
idSMTP1.Username := 'username' ;
idSMTP1.Password := 'password';
//From
idMessage1.From.Address := 'xxx@teletu.it';
//To
idMessage1.Recipients.EMailAddresses := 'yyy@teletu.it';
//Oggetto
idMessage1.Subject := 'Oggetto email';
//Testo
idMessage1.Body.Text := 'Testo email';

// Prova invio
IdSMTP1.Connect();
try
IdSMTP1.Send(IdMessage1);
finally
IdSMTP1.Disconnect;
end;
end;

end.


Con i seguenti settaggi:
IdSMTP1.IOHandeler:=IdSSLIOHandlerSocket1;
IdSMTP1.MaxLineAction:=maException;
IdSMTP1.SSLOptions.Method:=sslvSSLv2; (provato anche sslvTLSv1)
IdSMTP1.SSLOptions.Mode:=sslmUnassigned;
aaa
31/08/11 15:44
smanettone83
Controlla il tipo di autenticazione:

idsmtp1.authenticationType:= AtLogin; //controlla che non sia settato in AtNone

Ultima modifica effettuata da smanettone83 31/08/11 15:45
aaa
02/09/11 15:13
smanettone83
Ti ho fatto un piccolo esempio funzionante per l'invio con o senza autenticazione del server smtp. Scaricalo da qui:

megaupload.com/

Fammi sapere

saluti
Ultima modifica effettuata da smanettone83 02/09/11 15:15
aaa