03. december 2001 - 13:12
Der er
10 kommentarer og 1 løsning
Mail i JSP
Jeg kan ikke rigtig få et mail program til at virke i JSP. Jeg har brugt noget kode fra et gammelt spørgsmål. Jeg får ingen fejl. Men der bliver aldrig sendt en mail!! Her er java klassen: 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\", \"Mail1.stofanet.dk\"); 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 ) { return false; } catch( MessagingException e ) { return false; } } } og den bliver kaldt fra denne JSP side: <%@ page import=\'SendMail\' %> <jsp:useBean id=\"sm\" scope=\"session\" class=\"SendMail\" /> <jsp:setProperty name=\"sm\" property=\"*\"/> <% if (request.getMethod().equals(\"post\")) { sm.sendMail(); } %> <html> <body> <form method=\"post\"> Modtager <input type=\"text\" name=\"recipient\"><br> Afsender <input type=\"text\" name=\"sender\"><br> Emne <input type=\"text\" name=\"subject\"><br> Indhold <input type=\"text\" name=\"body\"><br> <input type=\"submit\" value=\"send\"> </form> </body> </html> Hvad kan problemmet være? Jeg bruger en Resin Server.
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?
03. december 2001 - 13:16
#1
i dine catch skriv e.printStackTrace() og fortæl hvad den så siger i din log fil
03. december 2001 - 13:28
#2
den skriver intet. den kommer ikke ind i catch\'en det eneste der sker på serveren er at den skriver: --closing application / --initializing application /
03. december 2001 - 13:30
#3
mystisk skulle ellers være god nok. prøv at ret Mail1.stofanet.dk til mail1.stofanet.dk
03. december 2001 - 13:36
#4
det hjalp ikke. den kommer aldrig ind i sendMail()!! (jeg har lavet en test)
03. december 2001 - 13:39
#5
kommer den ind i if\'en ? i jsp siden ?
03. december 2001 - 13:55
#6
Nu virker det. den kommer ikke ind i if\'en. hvis jeg skriver if (1==1) kommer den selvfølige derind, og mailen bliver afsendt. Men hvorfor virker dette ikke? <% if (request.getMethod().equals(\"post\")) { sm.sendMail(); } %>
03. december 2001 - 13:57
#7
fjern din pageimport (1. linie i jsp siden) og prøv igen. Det skulle gerne virker, jeg gør det tit på den måde
03. december 2001 - 14:04
#8
Nej det går ikke. så kommer følgende fejl: /examples/thazse/Mail.jsp:2: Class _examples._thazse.SendMail not found. SendMail sm; ^ /examples/thazse/Mail.jsp:4: Class _examples._thazse.SendMail not found. sm = (SendMail) session.getValue(\"sm\"); ^ /examples/thazse/Mail.jsp:6: Class _examples._thazse.SendMail not found. sm = new SendMail(); ^ /examples/thazse/Mail.jsp:13: Variable sm may not have been initialized. sm.sendMail(); jeg er ret sikker på at fejlen ligger i if\'en if (request.getMethod().equals(\"post\"))?
03. december 2001 - 14:25
#9
øh den pageimport skulle slet ikke give de fejl. Din usebean styrer den klasse. meget meget mystisk
03. december 2001 - 14:28
#10
nå, men det må jeg selv finde ud af. tak for hjælpen.
03. december 2001 - 14:31
#11
jeg tror det er et opsætnings problem af resin. for koden ser umiddelbart god nok ud (minder frygteligt meget om min egen kode som funker)
Kurser inden for grundlæggende programmering