25. marts 2004 - 10:12
Der er
44 kommentarer og 1 løsning
mail error
Har fundet et eksempel på hvordan man kan sende mails i JSP, men kan ikke få det til at virke: main: <html><body> <jsp:useBean id="Post" class="Post.SendMail" scope="session"/> <% Post.SendMail sm=new SendMail(); sm.setSender("anders.and@andeby.dk"); sm.setRecepient("Cool_fisk_2_u@hotmail.com"); sm.setSubject("Jeg vil have penge !!"); sm.setBody("Nu synes jeg du skal give mig penge !!!"); sm.sendMail(); %> </body></html> bean SendMail: package Post; 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", "lambe.pair.com"); 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; } } } Den melder fejlen: Error(3,1): cannot access directory javax\mail; verify that directory is reachable from classpath and/or sourcepath og en masse ligende. Er javax.mail ikke standart i jdeveloper, eller skal jeg installere det ved siden af?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
25. marts 2004 - 10:21
#1
Tilsyneladende ikke. Prøv og hent javamail og jaf !
25. marts 2004 - 10:21
#2
Læs evt. min artikel om email i java.
25. marts 2004 - 10:22
#3
Iøvrigt er det vel kun sjovt at kode den som bean, hvis man sætter alle properties fra form felter.
25. marts 2004 - 10:27
#4
hvor skal jaf-1_0_2.zip pakkes ud henne? Hvad er linket til din artikel?
25. marts 2004 - 10:32
#5
Det er ligegyldigt hvor du udpakker henne. Du skal bare have tilføjet jar filen til din classpath.
25. marts 2004 - 10:33
#6
25. marts 2004 - 10:46
#7
i jaf-1_0_2.zip er den eneste jar til: activation.jar, og den sætter jeg i classpath?
25. marts 2004 - 10:49
#8
og i javamail: pop3.jar mail.jar smtp.jar mailapi.jar imap.jar
25. marts 2004 - 10:52
#9
Ja. pop3 og imap skal du nok ikke bruge, men tag dem med alligevel.
25. marts 2004 - 11:03
#10
classpath = egenskaber til denne computer, advance, envioment..., new f,eks: mail c:\javamail\javamail-1.3.1\mail.jar
25. marts 2004 - 11:08
#11
Jeg ville aldrig ligge den ind i global CLASSPATH. Jeg ville bare tilføje den til projektets classpath inde i JDeveloper.
25. marts 2004 - 11:10
#12
hvor gør man det henne i jdevoper?
25. marts 2004 - 11:15
#13
har fundet ud af det :)
25. marts 2004 - 11:17
#14
Nu melder den kun fejlen: Error(4,32): class SendMail not found in class _main
25. marts 2004 - 11:27
#15
nu er den fikset:... props.put("mail.smtp.host", "hotmail.com"); er det rigtigt? msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); der er rød streg under Message.RecipientType.TO
25. marts 2004 - 11:36
#16
Jeg nægter at tro på at du bruger hotmail.com som SMTP server. Det skal enten være dit firmas SMTP server eller din internet udbyders SMTP server.
25. marts 2004 - 11:36
#17
har også prøvet med: props.put("mail.smtp.host", "pop3.mail.dk"); men intet bliver sendt
25. marts 2004 - 11:36
#18
i know... mistake
25. marts 2004 - 11:37
#19
Hvis du har TDC mener jeg at det er smtp.mail.dk
25. marts 2004 - 11:38
#20
props.put("mail.smtp.host", "smtp.mail.dk"); så må denne være korrekt
25. marts 2004 - 11:38
#21
Fik du addRecipient kaldet til at compile ?
25. marts 2004 - 11:39
#22
ja, men der er åbenbart fejl!?
25. marts 2004 - 11:49
#23
props.put("mail.smtp.host", "mx01.hotmail.com"); til hotmail
25. marts 2004 - 13:03
#24
den starter applikationen, men jeg modtager ikke nogen mail.... så der må være en fejl i : msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); Er der noget der skal tilføjes/importes for at anvende Message.RecipientType.TO
25. marts 2004 - 13:34
#25
hvis jeg trykker F1 på den: member RecipientType not found in javax.mail.message
25. marts 2004 - 13:41
#26
Dybt mystisk. Fra min Java Doc: javax.mail Class Message.RecipientType java.lang.Object | +--javax.mail.Message.RecipientType All Implemented Interfaces: java.io.Serializable Direct Known Subclasses: MimeMessage.RecipientType Enclosing class: Message -------------------------------------------------------------------------------- public static class Message.RecipientType extends java.lang.Object implements java.io.Serializable This inner class defines the types of recipients allowed by the Message class. The currently defined types are TO, CC and BCC. Note that this class only has a protected constructor, thereby restricting new Recipient types to either this class or subclasses.
25. marts 2004 - 15:04
#27
det er version: JavaMail API 1.3.1 Release jeg har hentet. Hvilken en bruger du?
25. marts 2004 - 15:26
#28
Jeg bruger javamail 1.3 eller J2EE 1.3.1, men jeg tror ikke at det er forskellen.
25. marts 2004 - 15:39
#29
du kan prøve at køre koden!? main.jsp: <html><body> <jsp:useBean id="sm" class="Post.SendMail" scope="session"/> <% //sm.setSender("Jakob.bielefeldt@mail.dk"); //sm.setRecipient("Jakob.bielefeldt@mail.dk"); sm.setSender("Bielefeldt2@hotmail.com"); sm.setRecipient("cool_fisk_2_u@hotmail.com"); sm.setSubject("Jeg vil have penge !!"); sm.setBody("Nu synes jeg du skal give mig penge !!!"); sm.sendMail(); %> </body></html> SendMail.java: package Post; import java.util.*; import javax.mail.*; import javax.mail.Message; import javax.mail.internet.*; import javax.mail.Message.RecipientType.*; 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", "mx01.hotmail.com"); Session mailsession = Session.getDefaultInstance(props, null); Message msg = new MimeMessage(mailsession); msg.setFrom(new InternetAddress(sender)); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); //message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 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; } } }
25. marts 2004 - 17:50
#30
prøver at installere J2EE SDK...
25. marts 2004 - 17:50
#31
Prøv lige og slet den her linie: import javax.mail.Message.RecipientType.*;
25. marts 2004 - 17:51
#32
det er en jeg selv har prøvet at tilføje.... Virker stadig ikke
25. marts 2004 - 17:54
#33
Og fejlen er nu ?
25. marts 2004 - 17:56
#34
det er ikke en disideret fejl, men der er bølgestreg under Message.RecipientType.TO, hvor den siger : member RecipientType not found in javax.mail.message. Man kan sagtens køre applikationen, men modtager igen mail
25. marts 2004 - 18:01
#35
Prøv: catch( AddressException e ) { e.printStackTrace(); return false; } catch( MessagingException e ) { e.printStackTrace(); return false; } og så kør det standalone (ikke fra JSP side) så man kan se hvad der sker.
25. marts 2004 - 18:05
#36
ved ikke helt hvad du mener... skal jeg køre det fra bønnen? eller ?
25. marts 2004 - 18:08
#37
Put en main ind i bønnen og køre den ! (jeg ved ikke hvor console output i OC4J ender henne)
25. marts 2004 - 18:14
#38
er ikke sikker på jeg har gjort det rigtigt: Error(14,20): can't return a value from method whose result type is void Error(19,20): can't return a value from method whose result type is void Error(11,9): exception javax.mail.internet.AddressException is never thrown in the corresponding try block Error(16,9): exception javax.mail.MessagingException is never thrown in the corresponding try block
25. marts 2004 - 18:16
#39
Næppe.
25. marts 2004 - 18:19
#40
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", "mx01.hotmail.com"); 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); return true; } catch (AddressException e) { e.printStackTrace(); return false; } catch (MessagingException e) { e.printStackTrace(); return false; } } public static void main(String[] args) { SendMail sm = new SendMail(); sm.setSender("Bielefeldt2@hotmail.com"); sm.setRecipient("cool_fisk_2_u@hotmail.com"); sm.setSubject("Jeg vil have penge !!"); sm.setBody("Nu synes jeg du skal give mig penge !!!"); sm.sendMail(); } }
25. marts 2004 - 18:26
#41
der opstår ingen fejl
25. marts 2004 - 18:27
#42
nu virker det!?
25. marts 2004 - 18:35
#43
Skal man skifte :props.put("mail.smtp.host", "smtp.mail.dk"); hvis man skal sende til en hotmail, eller andre? Modtager på min tdc men ikke hotmail
25. marts 2004 - 18:37
#44
Normalt skal man sende til den SMTP server der matcher ens internet forbindelse. Hvis man f.eks. bruger TDC ADSL forbindelse skal man altid bruge TDC's SMTP server selvom man i FROM bruger sin HOTMAIL/Cybercity/get2net/whatever adresse.
25. marts 2004 - 18:38
#45
Og et svar
Kurser inden for grundlæggende programmering