Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    34

    javax.mail Inviare mail con testo israeliano

    Ciao a tutti....sto utilizzando le classi messe a disposizione da javax.mail....facendo dei test la classe che ho creato per l'invio della mail funzione bene....il mio problema è quando devo inviare delle mail con testo in israeliano...quindi con una codifica con un altra tabella ASCII....infatti durante l'invio della mail effettua la decodifica (non so se sia il termine adatto) ma in pratica mi traduce il testo secondo la nostra tabelle ASCII e mi arriva con parole che non hanno senso (per me non avevano senso neanche quelle in israeliano però avrei bisogno che mi arrivassero esattamente quelle li...non traslate)....il mio problema è che tutte le mail dovranno essere inviate con Subject e testo della mail che sono in israeliano...quindi anche se funziona bene al momento la mia classe è inutile...

    Sapete come potrei fare per risolvere questo problema? pensavo si potesse fare come ad esempio per l'ftp dove basta indicare se l'invio è di tipo ASCII o binary.....quindi con l'invio di tipo binary sarei a posto....non è che qualcuno saprebbe indicarmi come fare per effettuare un invio di mail in modo che il testo venga inviato come binary e quindi non modificato durante l'invio???

    grazie mille...ciao

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Purtroppo queste questioni legate alle lingue e ai charset particolari sono un po' "delicate" e richiedono un certo numero di cose.

    Innanzitutto il testo è scritto come e dove? (premesso che non conosco l'israeliano )
    Quando crei il messaggio hai impostato un qualche charset nel content-type? Hai i font di carattere adatti per visualizzare i caratteri israeliani?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    34
    Intanto grazie per la risposta.....Il testo è presente sia nel Subject della mail sia nel testo vero e proprio (il body) della mail....

    Al momento non setto nessun charset nel content type della mail....stavo provando proprio adesso ma onestamente non riesco a capire bene quale sarebbe il migliore da utilizzare...

    Per quanto riguarda la visualizzazioen dei caratteri israeliani per quello non cè problema...sto lavorando in unix direttamente su una macchina israeliana e purtroppo è tutto in israeliano (infatti ci capisco poco....però riesco a lanciare la mia classe e a farla funzionare....però arriva con caratteri già traslati)

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    34
    Scusa ma ho fatto una scoperta importante....cioè ho notato che la mail me la invia correttamente con i caratteri israeliani nel caso in cui la mail non abbia allegati....se invece ci metto anche solo un allegato mi scombina tutto e in pratica me li trasla.....metto il codice per capirci meglio....

    Properties props = System.getProperties();
    // Setup mail server
    props.put("mail.smtp.host", smtpHost);
    props.put("mail.smtp.password", password);
    props.put("mail.smtp.user", userId);
    // Get session
    Session session = Session.getDefaultInstance(props, null);

    // Define message
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress(from));
    java.util.StringTokenizer tokenizer = new java.util.StringTokenizer(to,";");
    while (tokenizer.hasMoreTokens()){
    message.addRecipient(Message.RecipientType.TO,new InternetAddress(tokenizer.nextToken()));
    }
    message.setSubject(subject);

    if(copy != null){
    java.util.StringTokenizer copyTokenizer = new java.util.StringTokenizer(copy,";");
    while (copyTokenizer.hasMoreTokens()){
    message.addRecipient(Message.RecipientType.CC,new InternetAddress(copyTokenizer.nextToken()));
    }
    }
    // Create the multi-part
    Multipart multipart = new MimeMultipart();
    BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(body);
    multipart.addBodyPart(messageBodyPart);
    DataSource dataSource;
    int index = 0;
    if(attaches != null){
    for(int i = 0; i < attaches.size(); i++){
    messageBodyPart = new MimeBodyPart();
    String attach = attaches.get(index).toString();
    String attachName = new String();
    if(asAttach != null)
    attachName = asAttach.get(index).toString();
    else
    attachName = new java.io.File(attachName).getName();
    dataSource = new FileDataSource(attach);
    messageBodyPart.setDataHandler(new DataHandler(dataSource));
    messageBodyPart.setFileName(attachName);
    // Add parts
    multipart.addBodyPart(messageBodyPart);
    ++index;
    }
    }
    // Put parts in message
    message.setContent(multipart);
    // Send message
    System.out.println(message.getContentType());
    Transport.send(message);

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.