Avatar billede mercutio Nybegynder
21. juli 2004 - 15:52 Der er 6 kommentarer

når jeg sender mails vises de som tekst html virker ikke i mailen

Når jeg sender mails fra mit program vises de html tags jeg skriver som tekst. Hvad mangler jeg at sætte for at det kommer til at virke?
Avatar billede fsconsult.dk Nybegynder
21. juli 2004 - 16:15 #1
du skal sende det som encoding = text/html og ikke text/plain
Avatar billede mercutio Nybegynder
21. juli 2004 - 16:27 #2
hvordan sætter man det? jeg bruger java mail.
Avatar billede arne_v Ekspert
21. juli 2004 - 16:34 #3
Avatar billede fsconsult.dk Nybegynder
21. juli 2004 - 17:03 #4
SendHtml.java fra javamail demo:


import java.io.*;
import java.util.Properties;
import java.util.Date;

import javax.mail.*;
import javax.activation.*;
import javax.mail.internet.*;

/**
* Demo app that shows how to construct and send a single part html
* message.  Note that the same basic technique can be used to send
* data of any type.
*
* @author John Mani
* @author Bill Shannon
* @author Max Spivak
*/

public class sendhtml {

    public static void main(String[] argv) {
    new sendhtml(argv);
    }

    public sendhtml(String[] argv) {

    String  to, subject = null, from = null,
        cc = null, bcc = null, url = null;
    String mailhost = null;
    String mailer = "sendhtml";
    String protocol = null, host = null, user = null, password = null;
    String record = null;    // name of folder in which to record mail
    boolean debug = false;
    BufferedReader in =
            new BufferedReader(new InputStreamReader(System.in));
    int optind;

    for (optind = 0; optind < argv.length; optind++) {
        if (argv[optind].equals("-T")) {
        protocol = argv[++optind];
        } else if (argv[optind].equals("-H")) {
        host = argv[++optind];
        } else if (argv[optind].equals("-U")) {
        user = argv[++optind];
        } else if (argv[optind].equals("-P")) {
        password = argv[++optind];
        } else if (argv[optind].equals("-M")) {
        mailhost = argv[++optind];
        } else if (argv[optind].equals("-f")) {
        record = argv[++optind];
        } else if (argv[optind].equals("-s")) {
        subject = argv[++optind];
        } else if (argv[optind].equals("-o")) { // originator
        from = argv[++optind];
        } else if (argv[optind].equals("-c")) {
        cc = argv[++optind];
        } else if (argv[optind].equals("-b")) {
        bcc = argv[++optind];
        } else if (argv[optind].equals("-L")) {
        url = argv[++optind];
        } else if (argv[optind].equals("-d")) {
        debug = true;
        } else if (argv[optind].equals("--")) {
        optind++;
        break;
        } else if (argv[optind].startsWith("-")) {
        System.out.println(
"Usage: sendhtml [[-L store-url] | [-T prot] [-H host] [-U user] [-P passwd]]");
        System.out.println(
"\t[-s subject] [-o from-address] [-c cc-addresses] [-b bcc-addresses]");
        System.out.println(
"\t[-f record-mailbox] [-M transport-host] [-d] [address]");
        System.exit(1);
        } else {
        break;
        }
    }

    try {
        if (optind < argv.length) {
        // XXX - concatenate all remaining arguments
        to = argv[optind];
        System.out.println("To: " + to);
        } else {
        System.out.print("To: ");
        System.out.flush();
        to = in.readLine();
        }
        if (subject == null) {
        System.out.print("Subject: ");
        System.out.flush();
        subject = in.readLine();
        } else {
        System.out.println("Subject: " + subject);
        }

        Properties props = System.getProperties();
        // XXX - could use Session.getTransport() and Transport.connect()
        // XXX - assume we're using SMTP
        if (mailhost != null)
        props.put("mail.smtp.host", mailhost);

        // Get a Session object
        Session session = Session.getInstance(props, null);
        if (debug)
        session.setDebug(true);

        // construct the message
        Message msg = new MimeMessage(session);
        if (from != null)
        msg.setFrom(new InternetAddress(from));
        else
        msg.setFrom();

        msg.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse(to, false));
        if (cc != null)
        msg.setRecipients(Message.RecipientType.CC,
                    InternetAddress.parse(cc, false));
        if (bcc != null)
        msg.setRecipients(Message.RecipientType.BCC,
                    InternetAddress.parse(bcc, false));

        msg.setSubject(subject);

        collect(in, msg);

        msg.setHeader("X-Mailer", mailer);
        msg.setSentDate(new Date());

        // send the thing off
        Transport.send(msg);

        System.out.println("\nMail was sent successfully.");

        // Keep a copy, if requested.

        if (record != null) {
        // Get a Store object
        Store store = null;
        if (url != null) {
            URLName urln = new URLName(url);
            store = session.getStore(urln);
            store.connect();
        } else {
            if (protocol != null)       
            store = session.getStore(protocol);
            else
            store = session.getStore();

            // Connect
            if (host != null || user != null || password != null)
            store.connect(host, user, password);
            else
            store.connect();
        }

        // Get record Folder.  Create if it does not exist.
        Folder folder = store.getFolder(record);
        if (folder == null) {
            System.err.println("Can't get record folder.");
            System.exit(1);
        }
        if (!folder.exists())
            folder.create(Folder.HOLDS_MESSAGES);

        Message[] msgs = new Message[1];
        msgs[0] = msg;
        folder.appendMessages(msgs);

        System.out.println("Mail was recorded successfully.");
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
    }

    public void collect(BufferedReader in, Message msg)
                    throws MessagingException, IOException {
    String line;
    String subject = msg.getSubject();
    StringBuffer sb = new StringBuffer();
    sb.append("<HTML>\n");
    sb.append("<HEAD>\n");
    sb.append("<TITLE>\n");
    sb.append(subject + "\n");
    sb.append("</TITLE>\n");
    sb.append("</HEAD>\n");

    sb.append("<BODY>\n");
    sb.append("<H1>" + subject + "</H1>" + "\n");

    while ((line = in.readLine()) != null) {
        sb.append(line);
        sb.append("\n");
    }

    sb.append("</BODY>\n");
    sb.append("</HTML>\n");

    msg.setDataHandler(new DataHandler(
        new ByteArrayDataSource(sb.toString(), "text/html")));
    }
}
Avatar billede mercutio Nybegynder
22. juli 2004 - 08:03 #5
Hejsa. Tak for svaret jeg må dog indrømme at linket til artiklen var rigtig godt. Nu ved jeg også der er artikler herinde =)
Arne vil du lige lave et svar?
Avatar billede arne_v Ekspert
22. juli 2004 - 08:04 #6
svar
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