Avatar billede superib Nybegynder
14. maj 2003 - 08:42 Der er 12 kommentarer og
2 løsninger

JavaMail og ÆØÅ...

Hej...

Hvordan får jeg JavaMail til at æde æøå?!?!

/Jesper
Avatar billede disky Nybegynder
14. maj 2003 - 09:48 #1
Hvad gør du nu ?
Avatar billede superib Nybegynder
14. maj 2003 - 09:54 #2
Jeg indtaster bare (i det her tilfælde) et ø i subject... det bliver til et meget nydeligt, men ganske ubrugeligt, x...
Avatar billede disky Nybegynder
14. maj 2003 - 10:02 #3
Det var source koden jeg tænkte på
Avatar billede disky Nybegynder
14. maj 2003 - 10:03 #4
Nu er det længe siden jeg har prøvet, men jeg mener denne godt kan klare æøå

package disky.util;

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

public class SendMail
{
    String recipient="";
    String sender= "";
        String body="";
        String subject="";
       
    public void setRecipient( String recipient )
    {
            this.recipient = recipient;
    }
   
    public void setSender( String sender)
    {
            this.sender = sender;
    }
   
        public void setBody(String body)
        {
            this.body=body;
        }
       
        public void setSubject(String subject)
        {
            this.subject=subject;
        }

        public boolean sendMail()
    {
        boolean sendMail = true;
        try
        {
            Properties props = new Properties();
            props.put("mail.smtp.host", "INDSÆT SMTP SERVER NAVN");
           
            Session mailsession = Session.getDefaultInstance(props, null);
           
            Message msg = new MimeMessage(mailsession);
            msg.setFrom(new InternetAddress(sender));
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
            msg.setSubject(subject);
            msg.setText(body);
           
            Transport.send(msg);
/*
                        System.out.println("modtager = "+recipient);
                        System.out.println("afsender = "+sender);
                        System.out.println("subject  = "+subject);
                        System.out.println("tekst    = "+body);
*/                       
                        return true;
        }
        catch( AddressException e )
        {
            return false;
        }
        catch( MessagingException e )
        {
            return false;
        }
    }
}
Avatar billede superib Nybegynder
14. maj 2003 - 10:04 #5
aaaahh... ok... ;O)

2 sek...
Avatar billede superib Nybegynder
14. maj 2003 - 10:06 #6
public void sendEmail(){
    String body = "Hurraaa... det virker... :D";
        try
        {
            Properties props = new Properties();
            props.put("mail.smtp.host", "mail.superib.dk");

            Session mailsession = Session.getDefaultInstance(props, null);

            Message msg = new MimeMessage(mailsession);
            msg.setFrom(new InternetAddress("hotel@superib.dk"));
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress("email"));
            msg.setSubject("Reservation hos Herløv Kro");
            msg.setText(body);

            Transport.send(msg);
        }
        catch( AddressException e )
        {
          System.out.println("Fejl:" + e.getMessage());
        }
        catch( MessagingException e )
        {
          System.out.println("Fejl:" + e.getMessage());
        }

  }


Det er i forbindelse med et projekt i skolen for Herløv Kro... noget bestillings halløj...
Avatar billede superib Nybegynder
14. maj 2003 - 10:07 #7
hehe... jeg tror faktisk at det er den kode, jeg hugget fra et andet spm her på eksperten... ;)
Avatar billede superib Nybegynder
14. maj 2003 - 10:12 #8
Hov... de der " skal ikke være der... altså omkring email...
Avatar billede disky Nybegynder
14. maj 2003 - 10:17 #9
aha så du bruger min email sender :)

Kig her:
http://forum.java.sun.com/thread.jsp?forum=43&thread=74788

De snakker noget om det afhænger også af hvilket sprog serveren er sat til at køre.

Men det er noget med encodningen af selve mailen.

Kan bare ikke huske hvordna man gør.
Avatar billede superib Nybegynder
14. maj 2003 - 12:23 #10
Udemærket link... takker... men ny køre min server engelsk OS... Jeg har ikke lige prøvet det han forslår... mest fordi jeg ikke lige har tiden til at sætte mig ind i hans kode...
Avatar billede websmith Nybegynder
14. maj 2003 - 12:31 #11
Jeg havde samme problem med afsendelse af mail fra en .jsp side. Da jeg satte mit start script til tomcat til at ændre LANG variablen, så fungerede det med æøå.

Dvs. jeg ændrede tomcat.sh sådan:

LANG=en_US.ISO8859-1
export LANG

mvh
Avatar billede websmith Nybegynder
14. maj 2003 - 12:35 #12
Det skal lige siges at det var på en solaris, men linux skulle nok fungere på samme måde. i windows ville det nok være

mode con cp prepare=850
mode con cp select=850

eller noget i den retning
Avatar billede arne_v Ekspert
14. maj 2003 - 13:24 #13
SMTP understøtter ikke non-US-ASCII karakterer.

Derfor er den korrekte løsning:

msg.setSubject(MimeUtility.encodeText(subj));

Note: der er masser af email systemer der accepterer 8 bit - og der er også
email systsemer der ikke accepterer denne her encoding (RFC 2047). Men det
er den rigtige måde at gøre det på.
Avatar billede superib Nybegynder
19. maj 2003 - 09:08 #14
Jeg ved ikke helt hvad der skete... men det begyndte af virke af sig selv... hmmm... meget mystisk....
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