Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - mail con java
Forum - Java - mail con java

Avatar
rospo (Normal User)
Newbie


Messaggi: 9
Iscritto: 03/02/2008

Segnala al moderatore
Postato alle 9:41
Giovedì, 14/02/2008
ciao a tutti!
nuovo problema per un niubbo di java 8-|
sto cercando, sempre x quel programmino per cui chiedevo dei frame, di far si che l'utente possa mandare una mail all'autore.
ora, ho letto un po di documenti in giro e ne viene fuori che tramite javax.mail dovrebbe essere abbastanza semplice...
dovrebbe, perchè io non riesco a trovare l'errore!
questo è il codice che sto testando

Codice sorgente - presumibilmente Java

  1. package perjoomla;
  2.  
  3. import java.util.*;
  4. import java.net.*;
  5. import java.io.*;
  6.  
  7. public class InvioMail {
  8.  
  9.     static BufferedReader in;
  10.     static PrintWriter out;
  11.     static String server = "mail.tin.it";
  12.     static String mittente = "mittente@bo.it";
  13.     static String destinatario = "destinatario@bo.it";
  14.     static String messaggio = "ciao";
  15.  
  16.     public static void main(String[] args) {
  17.         try {
  18.             Socket s = new Socket(server, 25);
  19.             out = new PrintWriter(s.getOutputStream());
  20.             in = new BufferedReader(new InputStreamReader(s.getInputStream()));
  21.  
  22.             String hostName = InetAddress.getLocalHost().getHostName();
  23.  
  24.             receive();
  25.             send("HELO " + hostName);
  26.             receive();
  27.             send("MAIL FROM: <" + mittente + ">");
  28.             receive();
  29.             send("RCPT TO: <" + destinatario + ">");
  30.             receive();
  31.             send("DATA");
  32.             receive();
  33.             StringTokenizer tokenizer = new StringTokenizer(messaggio, "\n");
  34.             while (tokenizer.hasMoreTokens()) {
  35.                 send(tokenizer.nextToken());
  36.             }
  37.             send(".");
  38.             receive();
  39.             s.close();
  40.         } catch (IOException exception) {
  41.             System.out.println("Error: " + exception);
  42.         }
  43.     }
  44.  
  45.     public static void send(String s) throws IOException {
  46.         System.out.println(s);
  47.         System.out.println("\n");
  48.         out.print(s);
  49.         out.print("\r\n");
  50.         out.flush();
  51.     }
  52.  
  53.     public static void receive() throws IOException {
  54.         String line = in.readLine();
  55.         if (line != null) {
  56.             System.out.println(line);
  57.             System.out.println("\n");
  58.         }
  59.     }
  60. }


e mi viene detto, nella guida, che l'unica osservazione da fare è che il server deve essere il server smtp con il quale ci si connette a internet.
ora, io mi connetto tramite tin.it, ho ricercato l'smtp e l'ho settato.
lancio l'applicazione e alla fine esce questo OK.
ora, perchè non arriva però la mail?
devo fare un discorso di autentificazione anche sull'utente?
come posso semplificare il tutto, visto che poi andrà a degli utenti che non potranno modificare il codice?
io pensavo di fare un file .txt che si allega all'eseguibile nel quale l'utente scrive il suo smtp, mail del mittente (il destinatario è fissa nel programma) e, se necessari, user e password per la mail del mittente.
è fattibile?
io adesso provo a vedere un attimo questo discorso del file, ma quello della mail sono 3 gg che mi ci sto sbattendo la testa!
letto da mokabyte, cercato qui, su google e letti tanti articoli, ma tutti i codici non vanno!
ho scaricato i 2 pacchetti per la gestione della mail e li ho inseriti nel programma!
chi mi può dare 1 mano?
grazie grazie!

Ultima modifica effettuata da rospo il 15/02/2008 alle 16:45
PM Quote
Avatar
rospo (Normal User)
Newbie


Messaggi: 9
Iscritto: 03/02/2008

Segnala al moderatore
Postato alle 10:04
Giovedì, 14/02/2008
per la lettura del file nessun problema: l'avevo già fatta ed è tutto a posto :D
rimane il problema della mail, adesso mi rimetto a leggere qualcos'altro, ma se avete qualche consiglio è ben accetto :D

PM Quote
Avatar
rospo (Normal User)
Newbie


Messaggi: 9
Iscritto: 03/02/2008

Segnala al moderatore
Postato alle 11:09
Giovedì, 14/02/2008
sembra che ho risolto...
Codice sorgente - presumibilmente Java

  1. import javax.mail.*;
  2. import javax.mail.internet.*;
  3.  
  4. import java.util.Properties;
  5.  
  6. class SendMail {
  7.     public static void main(String[] args) throws Exception{
  8.         System.out.println("son qui");
  9.       Properties props = new Properties();
  10.       props.setProperty("mail.transport.protocol", "smtp");
  11.       props.setProperty("mail.host", "mail.tin.it");
  12.       props.setProperty("mail.user", "userdellaconnessione");
  13.       props.setProperty("mail.password", "passworddellaconessione");
  14.  
  15.       Session mailSession = Session.getDefaultInstance(props, null);
  16.       Transport transport = mailSession.getTransport();
  17.  
  18.       MimeMessage message = new MimeMessage(mailSession);
  19.       message.setSubject("Testing javamail plain");
  20.      
  21.       message.setContent("This is a test", "text/plain");
  22.       message.addRecipient(Message.RecipientType.TO, new InternetAddress("destinatario@bo.it"));
  23.       message.setFrom(new InternetAddress("mittente@bo.it"));
  24.  
  25.       transport.connect();
  26.       transport.sendMessage(message,
  27.           message.getRecipients(Message.RecipientType.TO));
  28.       transport.close();
  29.     }
  30. }


x sicurezza, mi ci date un occhiata e mi dite se vi sembra funzionante e senza bug?
soprattutto, è adattabile a tutti i server?
perchè non so con chi si connetteranno gli utenti finali...
con tin.it funziona;)

Ultima modifica effettuata da rospo il 15/02/2008 alle 16:46
PM Quote