10. marts 2004 - 08:29
Der er
16 kommentarer og 1 løsning
send mail
Jeg har problemer med at sende en mail via Java. når jeg forsøger at sende en mail skriver den følgende: MessagingException: javax.mail.NoSuchProviderException: smtp Jeg bruger følgende kode: protected Message prepareHeader( String smtp_host, String from, String to, String subject ) throws IOException, AddressException, MessagingException { Properties props = new Properties(); props.put( "mail.smtp.host", smtp_host ); Session session = Session.getDefaultInstance( props, null ); Message msg = new MimeMessage( session ); InternetAddress addr = new InternetAddress( to ); msg.addRecipients( Message.RecipientType.TO, new InternetAddress[] { addr } ); InternetAddress from_addr = new InternetAddress(from); msg.setFrom(from_addr); msg.setSubject(subject); return msg; } public void sendMail( String smtp_host, String from, String to, String subject, String message ) throws IOException, AddressException, MessagingException { Message msg = prepareHeader( smtp_host, from, to, subject ); msg.setContent( message, "text/plain" ); Transport.send( msg ); } er der nogen der kan hjælpe mig med det problem?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
10. marts 2004 - 08:40
#1
Prøv sådan her: protected Message prepareHeader( String smtp_host, String from, String to, String subject ) throws IOException, AddressException, MessagingException { Properties props = new Properties(); props.put( "mail.tele.dk", smtp_host ); Session session = Session.getDefaultInstance( props, null ); Message msg = new MimeMessage( session ); InternetAddress addr = new InternetAddress( to ); msg.addRecipients( Message.RecipientType.TO, new InternetAddress[] { addr } ); InternetAddress from_addr = new InternetAddress(from); msg.setFrom(from_addr); msg.setSubject(subject); return msg; } public void sendMail( String smtp_host, String from, String to, String subject, String message ) throws IOException, AddressException, MessagingException { Message msg = prepareHeader( smtp_host, from, to, subject ); msg.setContent( message, "text/plain" ); Transport.send( msg ); } //>Rune
10. marts 2004 - 08:40
#2
2 gæt: 1) security problem 2) session er gået ud af scope når du kalder send
10. marts 2004 - 08:44
#3
Jeg plejer at tilføje: props.put("mail.transport.protocol", "smtp"); Jeg formoder at din server har ret til at benytte den SMTP server du angiver med smtp_host?
10. marts 2004 - 08:44
#4
den keyværdi man putter i props definerer den ikke protokollen, eller bruges den til at definere noget andet ??
10. marts 2004 - 08:47
#5
når jeg isolerer de enkelte steps, kan jeg se fejlen opstår i linien: Transport.send( msg );
10. marts 2004 - 08:48
#6
Kunne du prøve at merge de 2 metoder ? (for at teste min hypotese #2)
10. marts 2004 - 08:49
#7
de værdier du putter i props, bliver ikke brugt til noget før du udfører Transport.send, derfor fejlen i dette step :-)
10. marts 2004 - 08:51
#8
har nu prøvet at merge metoderne uden held, jeg har fået verificeret ip-adressen til vores smtp-server så den skulle også være iorden
10. marts 2004 - 09:07
#10
Enten skal j2ee.jar være i classpath eller så skal javamail.jar+activation.jar være i classpath. Men hvis det er er applet, RMI eller noget andet som kører med en skrap security manager så kan dte være security (servlets/JSP på et web hotel vil typisk køre med en security manager).
10. marts 2004 - 09:23
#11
så fik jeg det selv til at virke - en af mine kolleger nævnte at SUN's egen mail.jar ikke virker. Så den er blevet skiftet ud med en fra ibm - og voila så virkede skidtet. Men tusind tak for hjælpen :-)
10. marts 2004 - 09:28
#12
Den plejer nu at virke. Men. Kører I i et IBM environment WebSphere, IBM JDK etc. ?
10. marts 2004 - 09:30
#13
Den applikation jeg er ved at skrive bruger Java sdk 1.4.0 og jeg skriver applikationen i "Websphere Studio Application Developer Integration Edition" - big word :-)
10. marts 2004 - 10:09
#14
Det var vidst de andre der skulle ha' haft points her jb3580 :o) Loadet, Arne og fsconsult, ønsker i points for jeres besvarelser? //>Rune
10. marts 2004 - 10:10
#15
ups min fejl
10. marts 2004 - 11:03
#16
Nu synes jeg ihvertfald ikke at jeg har fortjent point i dette spørgsmål. Og jeg skal ikke blande mig i om Rune vil levere tilbage.
10. marts 2004 - 21:43
#17
jeg klarer mig fint uden ;)
Kurser inden for grundlæggende programmering