Newsgroup: it.comp.lang.delphi
Titolo: Creare un server SMTP

Ciao a tutti!
Ho realizzato una piccola applicazione che invia email, utilizzando la
libreria Indy (). Vorrei inviare le email direttamente, cioè senza
passare dal server SMTP dell'internet provider. Sono già riuscito a
farlo: mediante un DNS Lookup trovo il Record MX, e poi mi collego al
server SMTP che il Record MX mi ha restituito...
Il problema è che questo DNS Lookup l'ho realizzato tramite la
libreria ICS (
http://www.overbyte.be/frame_index.html
), e non mi piace
come gestisce il DNS Lookup... perchè funziona così:
1) invio la richiesta al DNS, DnsQuery->MXLookup("dominio")
2) la richiesta "ritorna" subito, e per leggere i risultati del Record
MX restituito devo utilizzare l'evento OnRequestDone
Questo mi complica le cose, perchè se voglio collegarmi al server
restituitomi nel Record MX, devo realizzare tutta la procedura di
connessione all'interno dell'evento OnRequestDone...
Avete qualche idea su altri modi in cui sia possibile farlo??
Grazie mille in anticipo del vostro aiuto! :-)

usare indy?
AS

 ha scritto nel messaggio 
news:1123838261.3...@f14g2000cwb.googlegroups.com...


 Avete qualche idea su altri modi in cui sia possibile farlo??
Anche i componenti Indy possiedono un componente client apposito per 
l'interrogazione dei DNS che puoi utilizzare.
La "logica bloccante" dei componenti Indy dovrebbe inoltre sopperire 
alla tua esigenza di rendere "lineare" il processo di reperimento delle 
informazioni, senza utilizzare eventi esterni o altro.
Ciao,
   Marco.
-- 
Marco «Alka» Breveglieri	
http://www.marco.breveglieri.name
  «bvmcnxsjlkhrňhyeq, potrei scrivere a questo punto,
   se mi addormentassi sui tasti» (Daniele Luttazzi)

Grazie per i consigli!
Credo anch'io che la soluzione sia utilizzare Indy per fare le DNS
query... Avevo Indy8, adesso mi installto Indy10 e provo...
Sapete per caso dove poter trovare esempi sulle DNS query ??
Grazie mille!

A proposito di Indy... non sono riuscito a trovare una versione
compatibile con C++Builder. Sapete dove poterla trovare??

Grazie mille!
	Ciao
	MassimoB
 
---------------------------------
http://www.massimobeschi.it/
---------------------------------
Se tu pagare come dici tu ...
Io lavorare come dico io ...
Se tu pagare come dico io ...
Io lavorare come dici tu ...
---------------------------------

 connessione all'interno dell'evento OnRequestDone...
Cerca tra i componenti di Indy 10 TIdSMTPRelay.
Tra i demo di Indy 9 c'e' anche una implementazione di quello che ti
serve.
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 compatibile con C++Builder. Sapete dove poterla trovare??
Indy is available for the following Borland products:
[cut]
C++ Builder 4 - 6 
http://www.indyproject.org/Sockets/Download/Borland.iwp


 Cerca tra i componenti di Indy 10 TIdSMTPRelay.
Scusate la divagazione: ricordo di aver provato ad utilizzare questo 
componente ma con scarsi (e imprevisti) risultati.
Quale dovrebbe essere il suo corretto modo d'impiego? :-)
Alla fine, ho preferito utilizzare il classico TIdSMTP dopo aver 
reperito l'indirizzo MX dal server DNS. :-|


Grazie per le vostre risposte!
Setec Astronomy, ho già scaricato indy10.0.52_source.zip ma al suo
interno ci sono solo files per Delphi. Ho provato ad aprirli con BCB ma
niente... Ecco le estensioni che ho trovato:
.pas, .dpk, .inc, .res, .dcr, .obj
Nessuna di queste è un file sorgente o un file di progetto per BCB...
Prima di guardare gli esempi che mi avete proposto sarebbe bene
riuscire ad installare Indy anche su BCB, perchè ne ho necessità...
Come fare?

 Come fare?
Google -> install indy borland c++ -> Mi sento fortunato ...
-- 
I am what I am, I do what I can


Grazie Setec Astronomy!! Sono riuscito ad installare Indy9. Indy10
invece ancora no, perchè non ho trovato la versione per Windows che
permette come la 9 di creare tutti i files necessari per BCB...
Comunque adesso credo di poter provare gli esempi che riguardano il
server SMTP... vediamo cosa succede!



Installarti in locale un server SMTP che poi faccia quello che vuoi fare tu
con Delphi o BCB?
La soluzione è più immediata è libera da bug!
Bye,
Raktzo

Non è una soluzione adatta raktzo, mi serve un server SMTP interno al
programma da me sviluppato... vorrei provare con il componente
IdDNSResolver di Indy. Credo che l'esempio SMTPRealy contenuto nella
libreria Indy vada bene per me...

 libreria Indy vada bene per me...
Comunque sai tu se quale soluzione è più adatta al tuo problema.
Considera sempre i bug e gli imprevisti insiti in ogni nuova
implementazione, tipo un SMTP non raggiungibile(cosa che ultimamente mi
accade spesso con tin.it..) o altre rogne.
Bye,
Raktzo

Sto cercando di utilizzare il codice dell'esempio SMTPRealy contenuto
nella libreria Indy, ma sto avendo dei problemi... Il problema è che
non sono riuscito ad estrarre, dalla risposta della DNS query, il
record MX... Ho provato a tradurre il codice Delphi, contenuto
nell'esempio, in codice BCB ma non sono riuscito ad estrarre il record
MX. Ecco il codice che ho usato:
if ( IdDNSResolver1->QueryResult->Count > 0 )
{
        for (int i = 0; i<= IdDNSResolver1->QueryResult->Count - 1;
i++)
        {
                if (IdDNSResolver1->QueryResult->Items[i]->RecType ==
qtMX )
                {
                        TMXRecord *MXR = new
TMXRecord(IdDNSResolver1->QueryResult);
                        MX = MXR->ExchangeServer;
                        Edit1->Text = MX;
                        delete MXR;
                }
        }
}
Che ne pensate?? Cosa posso fare?
Grazie mille!!