Avatar billede madsokist Nybegynder
14. maj 2003 - 10:57 Der er 6 kommentarer

JavaMail, html, text

Hejsa

Jeg vil udsende en HTML mail hvor billeder ligger som attachments + at der skal være en .text del i mailen som mailklienter der ikke kan klare html læser i stedet.

kan det lade sig gøre?

Jeg tænker at hvis man ønsker at sende billeder med som attachments kræver det at typen på multipart til at være related:

new MimeMultipart("related")

og subtypen til at være

multipart.setSubType("multipart");

- hvis jeg ønsker at sætte en alternativ besked til mailklienter der ikke kan understøtte HTML, skal subtypen sættes til alternative ... men så mister jeg html delen der ligger i multipart.

Jeg misforstår sikkert et eller andet her, men er der nogen der har en forklaring/løsning vil jeg meget gerne se den.

På forhånd tak
Mads
Avatar billede disky Nybegynder
14. maj 2003 - 11:07 #1
hvis du søger på www.javasoft.com i deres forum kan du helt sikkert finde noget om det, det har jeg gjort tidligere.
Avatar billede madsokist Nybegynder
14. maj 2003 - 11:31 #2
hmmm - ja, der er en del ... der har problemer med javamail :-)

Jeg leder videre på javasoft, men det ser ud til at jeg ikke er den første med det her problem.
Avatar billede arne_v Ekspert
14. maj 2003 - 19:42 #3
Kan noget som dette her bruges:

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class SendMultipartEmail {
  public static void main(String[] args) {
        sendMultipartEmail();
    }
    public static void sendMultipartEmail() {
        try {
            Properties props = System.getProperties();
            props.put("mail.smtp.host", "192.168.1.10");
            Session session = Session.getDefaultInstance(props, null);
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress("xx@somewhere.dk"));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress("xx@somewhere.dk"));
            message.setSubject("Test");
            MimeBodyPart mpart1 = new MimeBodyPart();
            mpart1.setText("Linie 1\n" +
                          "Linie 2");
            MimeBodyPart mpart2 = new MimeBodyPart();
            mpart2.setContent("<H1>Overskrift</H1>\n" +
                              "Billede:\n" +
                              "<IMG SRC='http://www.eksperten.dk/img/eksperten_logo_new.gif'>",
                              "text/html");
            MimeMultipart mpart = new MimeMultipart();
            mpart.addBodyPart(mpart1);
            mpart.addBodyPart(mpart2);
            message.setContent(mpart);
            Transport.send(message);
        } catch (AddressException e) {
        } catch (MessagingException e) {
        }
    }
}

?

Umiddelbart ville jeg tro, at en ikke HTML capable mail klient vil
vise text med et attachement, og at en HTML capable klient vil vise
både text og HTML.

[ser OK ud i Netscape 7]

Det går naturligvis totalt i ged i en ikke MIME capable mail klient, men
det er der nok ikke noget at gøre ved.
Avatar billede arne_v Ekspert
22. maj 2003 - 22:18 #4
madsokist>

Kunne du bruge eksemplet til noget ?
Avatar billede arne_v Ekspert
02. juni 2003 - 20:26 #5
??
Avatar billede arne_v Ekspert
15. juni 2003 - 18:51 #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