Avatar billede duckman Nybegynder
30. oktober 2004 - 12:08 Der er 5 kommentarer og
1 løsning

JavaMail-Exception

Hej, jeg har forsøgt at lege lidt med JavaMail.
Følgende kode har jeg hugget fra arne_v's fine artikel her på sitet:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Email2 {
    private final static String SMTP_SERVER = "192.168.1.10";
    private final static String FROM = "mig@etsted.dk";
    public static void send(String to, String subj, String body) {
        try {
            Properties props = System.getProperties();
            props.put("mail.smtp.host", SMTP_SERVER);
            Session session = Session.getDefaultInstance(props, null);
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(FROM));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject(subj, "ISO-8859-1");
            message.setText(body, "ISO-8859-1");
            Transport.send(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        send("enanden@etandetsted.dk", "Test 2 med ÆØÅ", "ABC\n123\nÆØÅ\n");
    }
}

Jeg har naturligvis skiftet ud i parametrene så de passer til min opsætning. Når jeg kører programmet før jeg følgende fejl:

javax.mail.MessagingException: IOException while sending message;
  nested exception is:
        javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=ISO-8859-1
        at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:566)
        at javax.mail.Transport.send0(Transport.java:151)
        at javax.mail.Transport.send(Transport.java:80)
        at Email2.send(Email2.java:19)
        at Email2.main(Email2.java:25)

Er der nogen der kender til det problem?
Avatar billede kama Nybegynder
30. oktober 2004 - 12:16 #1
Du skal bruge UTF-8 i stedet for ISO-8859-1, når du skal have æøå mm. med.
Avatar billede arne_v Ekspert
30. oktober 2004 - 12:49 #2
ISO-8859-1 understøtter udmærker ÆØÅ.
Avatar billede arne_v Ekspert
30. oktober 2004 - 12:50 #3
Lidt søgning på google antyder at problemet løses ved at have
kompatible versioner af javamail og activation jar filer forrest
i classpath med javamail før activation.
Avatar billede kama Nybegynder
30. oktober 2004 - 14:30 #4
arne_v har selvfølgelig ret mht. æøå.

Jeg tror problemet er at du mangler en JAF DataContentHandler.
Prøv at se her: http://java.sun.com/products/javamail/FAQ.html#unsup

Det kan også være som arne_v siger, at du skal have JavaMail jar foran Activation jar på din classpath.
Avatar billede duckman Nybegynder
30. oktober 2004 - 15:19 #5
ok, det virker, tak for hjælpen.
problemet var at jeg bare havde hugget 'com' og 'javax' mapperne fra de to jar filer, og lagt ind i programmet som normale pakker. Jeg havde bare lige overset de 8 filer der ligger i META-INF mapperne (gik ud fra der kun lå et manifest).
Avatar billede arne_v Ekspert
30. oktober 2004 - 15:23 #6
:-)  :-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester