Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - [DELPHI 7] Email con Teletu
Forum - Delphi - [DELPHI 7] Email con Teletu

Avatar
kaal (Normal User)
Newbie


Messaggi: 1
Iscritto: 30/08/2011

Segnala al moderatore
Postato alle 21:53
Martedì, 30/08/2011
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;

PM
Avatar
smanettone83 (Normal User)
Pro


Messaggi: 124
Iscritto: 20/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:44
Mercoledì, 31/08/2011
Controlla il tipo di autenticazione:

Codice sorgente - presumibilmente Delphi

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



Ultima modifica effettuata da smanettone83 il 31/08/2011 alle 17:45
No. E' settato AtLogin - kaal - 31/08/11 23:43


Il sapere appartiene al mondo
PM
Avatar
smanettone83 (Normal User)
Pro


Messaggi: 124
Iscritto: 20/10/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:13
Venerdì, 02/09/2011
Ti ho fatto un piccolo esempio funzionante per l'invio con o senza autenticazione del server smtp. Scaricalo da qui:

http://www.megaupload.com/?d=UTB7WHHQ

Fammi sapere

saluti

Ultima modifica effettuata da smanettone83 il 02/09/2011 alle 17:15


Il sapere appartiene al mondo
PM