Send fra Java. Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende fra Java.

Relaterede dokumenter
RMI introduktion. Denne artikel beskriver Java RMI (Remtote Method Invocation).

Singleton pattern i Java

Logging i Java. Den forudsætter kendskab til Java og noget generel udviklings erfaring. Denne guide er oprindeligt udgivet på Eksperten.

RMI avanceret. Denne artikel beskriver nogle mere avancerede features i RMI. Den gør det muligt at lave mere realistiske applikationer.

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

Introduction til.net remoting i C#

Forskellige Java versioner

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Introduktion til ant. Denne artikel beskriver Apache ant, som er et værktøj til at builde Java applikationer med.

Arkitektur for begyndere

Anvendelse af metoder - Programmering

Test med JUnit 3. Denne artikel introducerer JUnit 3. Den forklarer ideen med JUnit. Og den viser hvordan man konkret bruger det.

Den forudsætter kendskab til XML og C# men ikke til brug af XML i C#.

Singleton pattern i C#

Introduction til.net remoting i VB.NET

Database design for begyndere

Prepared Statements. Denne artikel beskriver hvorfor prepared statements er gode. Den forudsætter lidt kendskab til Java og JDBC.

Hvad er Objekter - Programmering

Undtagelseshåndtering i C#

Parameters. Denne artikel beskriver hvorfor parameters er gode. Den forudsætter lidt kendskab til C# og ADO.NET.

XML parsning i Java. Denne artikel beskriver hvordan man parser XML i Java. Den beskriver W3C DOM, SAX og JDOM.

Hvilket sprog er hurtigst

Introduktion til SQL queries

Tilfældige tal. Denne artikel introducerer generering af tilfældige tal og viser lidt om hvad man kan og ikke mindst hvad man ikke bør bruge.

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

Sådan skriver du artikler til Eksperten!

Den forudsætter kendskab til XML og VB.NET men ikke til brug af XML i VB.NET.

applikation----x----odbc driver manager----foobar ODBC driver----foobar database

Java Klasse nedarvninger

Afsending af s vha. ASP

Bits, bit operationer, integers og floating point

MySQL i Java. Tutorial lavet af Jákup W. Hansen TSU semester 05.januar 2007

Den forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.

Upload af billeder/filer for nybegyndere Del. 2

Skrevet den 18. Feb 2010 af arne_v I kategorien Programmering / Visual Basic.NET

Denne artikel gennemgår kort nogle mulighederne for brug af XML i ASP. Det sker ved brug af eksempler. Eksemplerne vil være i VBS.

IT projekt person galleri

MySQL C API. Denne artikel beskriver hvordan man bruger MySQL C API. Der er beskrivelse af build med forskellige compilere.

Arrays i PHP. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 04. Feb 2009 af taskmgr I kategorien Programmering / PHP

Ratingsystem i PHP og MySQL

Java web applikationer med Tomcat

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

Som sagt kræves der helst lidt viden om OOP hvis man virkelig vil lærer noget, og ikke bare lave copypaste

At klippe en streng over på det mest hensigtsmæssige sted

Database tips. Den forudsætter lidt kendskab til SQL men er for mindre erfarne. Denne guide er oprindeligt udgivet på Eksperten.dk

Endnu mere om tilfældige tal

I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud.

Hej alle sammen, nu fjerner vi lige mystikken om alle de "ulovlige tags" her på eksperten.dk

Offset til terminalskærm i Java

Vejledning til listings-pakken

Introduktion til AOP i C#

Simpel upload af filer

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

Dynamisk PHP design OPDATERET

Eksempel på en database: studenter, kurser, eksamener

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

I mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.

Introduktion til NAnt

Nye Java XML API'er

I denne artikel vil du ved hjælp af arrays kunne afrunde et decimaltal til et helt tal.

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Hvilket sprog skal jeg lære?

Test med NUnit. Denne artikel introducerer NUnit. Den forklarer ideen med NUnit. Og den viser hvordan man konkret bruger det.

Test af It-komponent

Delphi - CrackMe og Keygen

Geografisk lokalisering i JSP

Denne artikel er til dem der ønsker at vide mere om hvad CSS er og hvad CSS kan bruges til hvad angår WWW.

CVS som KS-værktøj E Branching, Merging m.v.

Brugerdefineret menuer i Access

02101 Indledende Programmering Introduktion til Eclipse

Historiske benzin- og dieselpriser 2011

SESSION med PHP. En let begynderguide som kan føre dig ind i en verden af muligheder. Denne guide er oprindeligt udgivet på Eksperten.

Tagwall med Php & MySQL

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Database programmerings tips

Naja Schlüter Roskilde Tekniske Gymnasium 26/ Interessentanalyse

I denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.

Introduktion til funktioner, moduler og scopes i Python

Beskriver WOW Ik 100% godt men gør mit bedste + alle stavefejl er gratis men dog er der ikke mange

Geografisk lokalisering i ASP.NET

Mozilla Firefox (tidligere Firebird): Fremhæve ord

Kontrol-strukturer i PHP

Hvilket sprog skal jeg lære?

Delphi og Databaser for begyndere

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Outlook 2010 POP3-opsætning

OrCAD Capture TCL IDE med Eclipse

.NET 4.5 og C# 5.0. Denne artikel beskriver nogle af de nye features i.net 4.5 og C# 5.0. Den forudsætter et vist kendskab til.net og C#.

Begrynder til at lave log ind system

Ekstra hastighed med array's i Excel-VBA

Flerbruger miljø, opdel database

Lav en hjemme side der kan sælge fly billetter til en stor i Europa.

Installation af DATABOKS online backup manager

Virkefeltsregler i Java

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

RMI med BlueJ. Tutorial lavet af Jákup W. Hansen TSU semester 11. desember 2007

Brugermanual PoP3 og Outlook Office 2003 Webmail Udarbejdet af IT-afdelingen 2005

Loginsystem (med MySQL)

Uploade billeder eller andre filer ved hjælp af php og mysql

Det er primært relevant for dem hvor der arbejdes på en gammel bærbar computer, som ikke har en stærk processer og nok ram, at gøre godt med.

Transkript:

Denne guide er oprindeligt udgivet på Eksperten.dk Send email fra Java Denne artikel fortæller hvad man skal bruge og hvordan man skal kode for at sende email fra Java. Simple eksempler ikke noget vildt avanceret. Den forudsætter kendskab til Java. Skrevet den 16. Feb 2010 af arne_v I kategorien Programmering / Java Historie: V1.0-16/01/2004 - original V1.1-31/01/2004 - forbedret formatering V1.2-12/11/2004 - fix trunkeret linie og tilføj note til sidst om j2ee.jar V1.3-16/02/2010 - smårettelser Indledning Det hænder at man har brug for at ens applikation kan sende emails ud. Og selvfølgelig kan det også gøres i Java. Man kan sende email fra java på 2 måder: * bruge JavaMail * bruge en almindelig Socket connection til port 25 Jeg vil kun beskrive den første. Normalt vil man anbefale JavaMail, fordi der er indbygget en masse funktionalitet. I det efterfølgende vil jeg antage at: - ens SMTP server er 192.168.1.10 - ens egen email adresse er mig@etsted.dk - modtagers email adresse er enanden@etandetsted.dk SMTP server er den samme som man angiver i browser/email program (og for de fleste privat brugere er det en man får udleveret i forbindelse med sit internet abonnement). For at bruge JavaMail skal man hente: JavaMail - http://java.sun.com/products/javamail/ JAF (Java Activation Framework) - http://java.sun.com/products/javabeans/glasgow/jaf.html Du downloader zip filerne, udpakker dem og putter jar filerne i din classpath. Hvis du har J2EE/Java EE SDK installeret kan du også bare putte j2ee.jar/javaee.jar i classpath, fordi den har det hele.

Eksempler Lad os starte med et simpelt eksempel som sender en text i ASCII. public class Email1 { public static void send(string to, String subj, String body) { message.setsubject(subj); message.settext(body); catch (Exception e) { send("enanden@etandetsted.dk", "Test 1", "Linie 1\nLinie 2\nLinie 3\n"); Nu modificerer vi det til at sende danske bogstaver i ISO-8859-1 karakter sæt: public class Email2 { public static void send(string to, String subj, String body) {

message.settext(body, "ISO-8859-1"); catch (Exception e) { send("enanden@etandetsted.dk", "Test 2 med ÆØÅ", "ABC\n123\nÆØÅ\n"); Nu prøver vi at sende HTML: public class Email3 { public static void send(string to, String subj, String body) { message.setcontent(body, "text/html; charset=iso-8859-1"); catch (Exception e) { send("enanden@etandetsted.dk", "Test 3 med ÆØÅ", "<P>Linie 1</P><P>Linie 2</P><P>Linie 3 med ÆØÅ</P>"); Nu prøver vi så at sende en email med både text og HTML:

public class Email4 { public static void send(string to, String subj, String body1, String body2) { MimeBodyPart mpart1 = new MimeBodyPart(); mpart1.settext(body1, "ISO-8859-1"); MimeBodyPart mpart2 = new MimeBodyPart(); mpart2.setcontent(body2, "text/html; charset=iso-8859-1"); MimeMultipart mpart = new MimeMultipart(); mpart.addbodypart(mpart1); mpart.addbodypart(mpart2); message.setcontent(mpart); catch (Exception e) { send("enanden@etandetsted.dk", "Test 4 med ÆØÅ", "Linie 1\nLinie 2\nLinie 3 med ÆØÅ\n", "<P>Linie 1</P><P>Linie 2</P><P>Linie 3 med ÆØÅ</P>"); Og til sidst vil vi sende en email med attachment: import java.io.*; import javax.activation.*; public class Email5 {

public static void send(string to, String subj, String body, String filename) { MimeBodyPart mpart1 = new MimeBodyPart(); mpart1.settext(body, "ISO-8859-1"); MimeBodyPart mpart2 = new MimeBodyPart(); mpart2.setdatahandler(new DataHandler(new FileDataSource(filename))); mpart2.setfilename((new File(filename)).getName()); MimeMultipart mpart = new MimeMultipart(); mpart.addbodypart(mpart1); mpart.addbodypart(mpart2); message.setcontent(mpart); catch (Exception e) { send("enanden@etandetsted.dk", "Test 5", "Vedhæftet Z.ZIP\n", "C:\\Z.ZIP"); Det er faktisk ikke svært at sende email fra Java. Bemærk at det ikke spiller nogen rolle om man sender fra en J2SE/Java SE eller J2EE/Java EE applikation. Koden er den samme. Men en vigtig pointe er: hvis det er en J2EE app, så må man godt compile sin kode mod j2ee.jar/javaee.jar, men man må ikke bruge j2ee.jar/javaee.jar runtime med andre servere end SUN's reference implementation. Hvis javax.mail klasserne mangler så skal man deploye mail.jar og activation.jar. Kommentar af evj d. 21. Aug 2005 1 Kommentar af duckman d. 11. Sep 2004 2 Ganske fin artikel med masser af kode eksempler som er lige til at bruge. Dog ville det være rart med lidt mere dokumentation i selv koden, og evt. en mindre forklaring om de forskellige ISO charsets

Kommentar af simonvalter d. 27. Jan 2004 3 God artikel. Det her kan helt sikkert få dig igang. Kommentar af skovborg d. 17. Feb 2004 4 skide godt.. Med venlig hilsen Morten skovborg Kommentar af flar74 d. 23. Jul 2007 5 Simpelthen god stil :-) Kommentar af maximus d. 11. Sep 2004 6 Der mangler dog lidt flere kommentar på hvad der sker, men omvendt, er man lidt rutineret i Java så er det ikke det store problem at gennemskue hvad der sker. Så alt i alt er man godt kørende med denne artikel Der mangler dog et lidt forklaring hvad man gør når den mail-server man benytter kræver brugernavn og adgangskode Kommentar af mercutio d. 22. Jul 2004 7 Kan kun sige tak for hjælpen =) Kommentar af digitalsoul d. 06. May 2004 8 Meget god artikel, mangler måske lidt kommentare i kode eksemplerne. Kommentar af nfrank d. 15. Feb 2005 9 Meget informativ og inspirerende. Kommentar af kurtpedersen d. 27. Jul 2004 10 Bliver ikke det fjerneste klogere. Kommentar af vedikkebedre d. 20. Oct 2004 11 God lille artikel der giver en god grundviden til at komme videre med email i java. Det er korrekt at flere kommentarer vil give en hurtigere indlæring, men man lærer også ved at tænke selv. Fortsæt endelig med sådanne artikeler der giver en basis-viden om forskellige emner. Kommentar af visualdeveloper d. 01. Nov 2005 12 super artikel. flot skrevet arne_v god og informativ