dns e java

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Scrivi risposta
thor_cthulhu
Prode Principiante
Messaggi: 199
Iscrizione: sabato 26 aprile 2008, 20:07

dns e java

Messaggio da thor_cthulhu »

salve a tutti,
devo realizzare un programmino in java.. ma il problema non ce l'ho tanto in java...
Nel programmino ho l'email di un utente, e devo spedire tale emali nel suo server di posta smtp... il problema è che non riesco ad ottenere l'indirizzo ip di un server smtp dato semplicemente la sua estensione es:
se scrivo sulla riga di comando: nslookup fastweb.it ... esso risponde con un indirizzo ip equivalente al server web,
solo se scrivo smtp.fastweb.it ottengo il valore giusto.
Il problema è ke non a tutti i server basta aggiungere smtp, e quindi come faccio a ottenere l'ip di un qualsiasi server smtp??

Mi salvate la vita se riuscite a rispondere a questa domanda, quindi ringrazio anticipatamente  (b2b)
Avatar utente
pieddu
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13453
Iscrizione: sabato 11 novembre 2006, 21:46
Desktop: Mate XFCE
Distribuzione: Devuan Trisquel
Sesso: Maschile
Località: Serravalle di Chienti (Taverne)

Re: dns e java

Messaggio da pieddu »

3 post identici..... mai visto  :o
:birra:
thor_cthulhu
Prode Principiante
Messaggi: 199
Iscrizione: sabato 26 aprile 2008, 20:07

Re: dns e java

Messaggio da thor_cthulhu »

pieddu ha scritto: 3 post identici..... mai visto  :o
scusa...ma è urgente ecco perchè.. purtroppo su internet non trovo soluzione
Avatar utente
pieddu
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 13453
Iscrizione: sabato 11 novembre 2006, 21:46
Desktop: Mate XFCE
Distribuzione: Devuan Trisquel
Sesso: Maschile
Località: Serravalle di Chienti (Taverne)

Re: dns e java

Messaggio da pieddu »

cmq, magari l'ip è lo stesso del server web, solo che cambia la porta..... ;)
:birra:
thor_cthulhu
Prode Principiante
Messaggi: 199
Iscrizione: sabato 26 aprile 2008, 20:07

Re: dns e java

Messaggio da thor_cthulhu »

pieddu ha scritto: cmq, magari l'ip è lo stesso del server web, solo che cambia la porta..... ;)
magari fosse cosi...hanno quasi tutti ip diversi
Avatar utente
Volans
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4915
Iscrizione: domenica 4 dicembre 2005, 11:25
Contatti:

Re: dns e java

Messaggio da Volans »

@thor_cthulhu:
avere fretta non è un motivo per cui sia possibile inserire più messaggi identici. Il crossposting è vietato dal Regolamento in ogni caso, per cui ho chiuso e spostato in Quarantena gli altri due topic e ti consiglio di leggere attentamente il nostro Regolamento.
Volans
Prima di scrivere leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
ryuujin
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1032
Iscrizione: venerdì 14 aprile 2006, 2:57
Sesso: Maschile
Località: Pescara
Contatti:

Re: dns e java

Messaggio da ryuujin »

thor_cthulhu ha scritto: Il problema è ke non a tutti i server basta aggiungere smtp, e quindi come faccio a ottenere l'ip di un qualsiasi server smtp??
devi fare una query al record mx del dns.

ad esempio con dig:

Codice: Seleziona tutto

dig fastweb.it mx
fastweb.it.		3596	IN	MX	15 smail4.fastweb.it.
fastweb.it.		3596	IN	MX	20 relay2.fastweb.it.
fastweb.it.		3596	IN	MX	15 smail3.fastweb.it.

dig tin.it mx
tin.it.			1105	IN	MX	10 smtp.tin.it.
r.
http://blog.spicydev.it
"Chi riceve un'idea da me, ricava conoscenza senza diminuire la mia; come chi accende la sua candela con la mia, riceve luce senza lasciarmi
al buio". - Thomas Jefferson
thor_cthulhu
Prode Principiante
Messaggi: 199
Iscrizione: sabato 26 aprile 2008, 20:07

Re: dns e java

Messaggio da thor_cthulhu »

ryuujin ha scritto:
thor_cthulhu ha scritto: Il problema è ke non a tutti i server basta aggiungere smtp, e quindi come faccio a ottenere l'ip di un qualsiasi server smtp??
devi fare una query al record mx del dns.

ad esempio con dig:

Codice: Seleziona tutto

dig fastweb.it mx
fastweb.it.		3596	IN	MX	15 smail4.fastweb.it.
fastweb.it.		3596	IN	MX	20 relay2.fastweb.it.
fastweb.it.		3596	IN	MX	15 smail3.fastweb.it.

dig tin.it mx
tin.it.			1105	IN	MX	10 smtp.tin.it.
r.
si, ma in java come faccio???
Avatar utente
ryuujin
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1032
Iscrizione: venerdì 14 aprile 2006, 2:57
Sesso: Maschile
Località: Pescara
Contatti:

Re: dns e java

Messaggio da ryuujin »

thor_cthulhu ha scritto: si, ma in java come faccio???
butta un occhio qua: http://www.dnsjava.org/

puoi scaricarti il jar ed usarlo nel tuo progetto.

Per ricavare il record MX:

Codice: Seleziona tutto

Record [] records = new Lookup("dnsjava.org", Type.MX).run();
for (int i = 0; i < records.length; i++) {
	MXRecord mx = (MXRecord) records[i];
	System.out.println("Host " + mx.getTarget() + " has preference ", mx.getPriority());
}
Se vuoi una cosa piu' sbrigativa:

Codice: Seleziona tutto

import  java.util.Hashtable;
import  javax.naming.*;
import  javax.naming.directory.*;

public class MXLookup {
  public static void main( String args[] ) {
    if( args.length == 0 ) {
      System.err.println( "Usage: MXLookup host [...]" );
      System.exit( 99 );
    }
    for( int i = 0; i < args.length; i++ ) {
      try {
        System.out.println( args[i] + " has " +
          doLookup( args[i] ) + " mail servers" );
      }
      catch( Exception e ) {
        System.out.println(args[i] + " : " + e.getMessage());
      }
    }
  }

  static int doLookup( String hostName ) throws NamingException {
    Hashtable env = new Hashtable();
    env.put("java.naming.factory.initial",
            "com.sun.jndi.dns.DnsContextFactory");
    DirContext ictx = new InitialDirContext( env );
    Attributes attrs = 
       ictx.getAttributes( hostName, new String[] { "MX" });
    Attribute attr = attrs.get( "MX" );
    if( attr == null ) return( 0 );
    return( attr.size() );
  }
}
r.

PS: basta che cerchi con google. Ad esempio: get mx record java
Ultima modifica di ryuujin il venerdì 13 giugno 2008, 14:17, modificato 1 volta in totale.
http://blog.spicydev.it
"Chi riceve un'idea da me, ricava conoscenza senza diminuire la mia; come chi accende la sua candela con la mia, riceve luce senza lasciarmi
al buio". - Thomas Jefferson
thor_cthulhu
Prode Principiante
Messaggi: 199
Iscrizione: sabato 26 aprile 2008, 20:07

Re: dns e java

Messaggio da thor_cthulhu »

ryuujin ha scritto:
thor_cthulhu ha scritto: si, ma in java come faccio???
butta un occhio qua: http://www.dnsjava.org/

puoi scaricarti il jar ed usarlo nel tuo progetto.

Per ricavare il record MX:

Codice: Seleziona tutto

Record [] records = new Lookup("dnsjava.org", Type.MX).run();
for (int i = 0; i < records.length; i++) {
	MXRecord mx = (MXRecord) records[i];
	System.out.println("Host " + mx.getTarget() + " has preference ", mx.getPriority());
}
Se vuoi una cosa piu' sbrigativa:

Codice: Seleziona tutto

import  java.util.Hashtable;
import  javax.naming.*;
import  javax.naming.directory.*;

public class MXLookup {
  public static void main( String args[] ) {
    if( args.length == 0 ) {
      System.err.println( "Usage: MXLookup host [...]" );
      System.exit( 99 );
    }
    for( int i = 0; i < args.length; i++ ) {
      try {
        System.out.println( args[i] + " has " +
          doLookup( args[i] ) + " mail servers" );
      }
      catch( Exception e ) {
        System.out.println(args[i] + " : " + e.getMessage());
      }
    }
  }

  static int doLookup( String hostName ) throws NamingException {
    Hashtable env = new Hashtable();
    env.put("java.naming.factory.initial",
            "com.sun.jndi.dns.DnsContextFactory");
    DirContext ictx = new InitialDirContext( env );
    Attributes attrs = 
       ictx.getAttributes( hostName, new String[] { "MX" });
    Attribute attr = attrs.get( "MX" );
    if( attr == null ) return( 0 );
    return( attr.size() );
  }
}
r.

PS: basta che cerchi con google. Ad esempio: get mx record java
grazie mille
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 1 ospite