Avatar billede priestie Nybegynder
11. april 2002 - 03:52 Der er 13 kommentarer og
1 løsning

NoSuchProviderException

Jeg skal ha' sendt mail via en JSP side, men jeg får hele tiden denne Execption smid i hovedet :-(
Jeg har prøvet med utallige forskellige kodestumper hentet forskellige steder, men altid samme Execption..
Jeg bruger Blazix web-server.
Jeg har søgt en del på nettet efter et løsning, men jeg kan ikke lige komme det nærmere.
Er der andre der har tumlet med samme fejl, og hvad kunne løse problemet?

thx

priestie
Avatar billede priestie Nybegynder
11. april 2002 - 04:12 #1
Der kommer lige et stacktrace oveni:

javax.mail.NoSuchProviderException: No provider for Address type: rfc822
    at javax.mail.Session.getTransport(Session.java:516)
    at javax.mail.Transport.send0(Transport.java:155)
    at javax.mail.Transport.send(Transport.java:81)
    at desisoft_jsp_mail_jsp1018491270550._jspService(desisoft_jsp_mail_jsp1018491270550.java:49)
    at desisoft.server.JspBaseClass.service(JspBaseClass.java:48)
    at desisoft.server.servlets.Servlet.service(Servlet.java:86)
Avatar billede erikjacobsen Ekspert
11. april 2002 - 07:24 #2
Måske lidt kode fra dit program kunne hjælpe os på sporet.
Avatar billede disky Nybegynder
11. april 2002 - 07:31 #3
du forsøger at sende en rfc822 encoded email som enten java ikke kender til, eller din mail server.
Avatar billede priestie Nybegynder
11. april 2002 - 13:27 #4
>Måske lidt kode fra dit program kunne hjælpe os på sporet.

Lidt kode:

<%@ page import="java.util.*, javax.mail.*, javax.mail.internet.*" %>
<%
 
            Properties props = new Properties();
            props.put("mail.transport.protocol", "smtp.worldonline.dk");
           
            Session mailsession = Session.getDefaultInstance(props, null);
            mailsession.setDebug(true);
            Message msg = new MimeMessage(mailsession);
            msg.setFrom(new InternetAddress("soren@priestyard.dk"));
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress("soren@priestyard.dk"));
            msg.setSubject("subject");
            msg.setText("body");
           
            Transport.send(msg);

   
%>
<html>
<p align="center">A Message has been sent.<br>Check your inbox.</p>
<p align="center"><a href="sendmail.jsp">Click here to send another!</a></p>
</html>
Avatar billede priestie Nybegynder
11. april 2002 - 13:31 #5
>du forsøger at sende en rfc822 encoded email som enten java ikke kender >til, eller din mail server.

???
ja undskyld, men det bliver jeg ikke en bjælde klogere af, disky :)
Hvad kunne afhjælpe problemet?
Avatar billede disky Nybegynder
11. april 2002 - 13:54 #6
Din kode ser umiddelbart fint ud, jeg kan dog ikke lige sammenligne den med min egen fungerende mail sender, da jeg er gemt bag en firewall der ikke tillader SSH forbindelser :(

Jeg kan se du forsøger at anvende Worldonlines mail server, når du tester dit program er du så koblet op via en worldonline (tiscali) forbindelse ?

Hvis ikke vil mail serveren sikkert ikke snakke med dig, for at undgå spam udsendelse.
Avatar billede priestie Nybegynder
11. april 2002 - 13:59 #7
Ja, jer er koblet op hos Tiscali.
Er der en måde hvorpå man kan konstaterer om det er Java den er gal med, eller noget servermæssigt?
thx
Avatar billede disky Nybegynder
11. april 2002 - 20:37 #8
Her er min mail klasse som jeg ved virker:

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", "MAILSERVER");
           
            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 priestie Nybegynder
12. april 2002 - 01:15 #9
Tak for svaret disky, men nu har jeg prøvet med din kode som servlet, som JSP og i min javakompiler, og alle gir' samme ¤§?%@$#Execption.

Er det ikke muligt at konstatere nøjagtig hvori fejlen ligger. Jeg er ved at stirre mig blid på API'en, og sidder fast, please!!
thx
priestie
Avatar billede priestie Nybegynder
12. april 2002 - 02:08 #10
sese, jeg har lige downloaded JavaMail1.3 API. Nu er der da hul igennem, da compileren hænger hvis jeg staver navnet på SMTP-serveren forkert.
Du får jeg derimod en ny, nestet Execption:

javax.mail.SendFailedException: Sending failed;
  nested exception is:
    class javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=us-ascii

---------------------

jeg bruger stadig disky's kodestump.
thx
Avatar billede priestie Nybegynder
12. april 2002 - 05:28 #11
UPS, hvor pinligt!!!
Jeg fandt lige fejlen :))))
Jeg havde inkluderet stien til mail.jar's katalog, men  ikke selve filen, i CLASSPATH.
Beklager bøvlet, og tak for hjælpen!

Jeg ved ikke lige hvordan pointgivningen sker i sådan en situation..??

priestie
Avatar billede disky Nybegynder
12. april 2002 - 11:31 #12
Det er helt op til dig selv.

Du kan vælge:
Hmmm, jeg fandt selv fejlen jeg beholder point.
eller:
Hmm, jeg fandt den selv, men de forsøgte jo hårdt at hjælpe, så de skal belønes.
Avatar billede disky Nybegynder
12. april 2002 - 17:34 #13
:-)

Mange tak.
Avatar billede priestie Nybegynder
12. april 2002 - 18:01 #14
selvtak
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