Hi. I made an RPC for sending an email

this is the Impl file:

package faceRecognition.server;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import faceRecognition.client.EmailService;
import faceRecognition.server.Email.SendMail.Gmail;

@SuppressWarnings("serial")
public class EmailServiceImpl extends RemoteServiceServlet implements
                EmailService {

        @Override
        public String send(String emailTo, String subject, String body) {

                String msg = "";

                msg = Gmail.send("this", emailTo, subject, body);

                return(msg);

        }


}
when i commented out the line "msg = Gmail.send("this", emailTo,
subject, body);"

everything is ok. the problem is in the method Gmail.send:

package faceRecognition.server.Email.SendMail;

import java.security.Security;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;


public class Gmail {

    private static final String SMTP_HOST_NAME = "smtp.gmail.com";
    private static final String SMTP_PORT = "465";
    private static final String SSL_FACTORY =
"javax.net.ssl.SSLSocketFactory";

    public static String send(String emailFromAddress, String sendTo,
String subject, String body){

        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider
());

        String[] emails = new String[1];
        emails[0] = sendTo;
        try {
            sendSSLMessage("[email protected]", "password", emails,
subject,
                    body, emailFromAddress);
            return("");
        }catch  (Exception e) {
            e.printStackTrace();
           return(e.getMessage());
        }

    }

    private static void sendSSLMessage(final String username, final
String password, String recipients[], String subject,
            String message, String from) throws MessagingException {
        boolean debug = true;

        Properties props = new Properties();
        props.put("mail.smtp.host", SMTP_HOST_NAME);
        props.put("mail.smtp.auth", "true");
        props.put("mail.debug", "true");
        props.put("mail.smtp.port", SMTP_PORT);
        props.put("mail.smtp.socketFactory.port", SMTP_PORT);
        props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
        props.put("mail.smtp.socketFactory.fallback", "false");

        Session session = Session.getDefaultInstance(props,
                new javax.mail.Authenticator() {

                    @Override
                    protected PasswordAuthentication
getPasswordAuthentication() {
                        return new PasswordAuthentication(username,
password);
                    }
                });

        session.setDebug(debug);

        Message msg = new MimeMessage(session);
        InternetAddress addressFrom = new InternetAddress(from);
        msg.setFrom(addressFrom);

        InternetAddress[] addressTo = new InternetAddress
[recipients.length];
        for (int i = 0; i < recipients.length; i++) {
            addressTo[i] = new InternetAddress(recipients[i]);
        }
        msg.setRecipients(Message.RecipientType.TO, addressTo);

        // Setting the Subject and Content Type
        msg.setSubject(subject);
        msg.setContent(message, "text/html");
        //Transport.send(msg);

        javax.mail.Transport.send(msg); //HERE I GET THE FOLLOWING
ERROR
    }
}

The error which i get is:

DEBUG: getProvider() returning javax.mail.Provider
[TRANSPORT,gm,com.google.appengine.api.mail.stdimpl.GMTransport]
com.google.apphosting.api.ApiProxy$CallNotFoundException: The API
package 'mail' or call 'Send()' was not found.
        at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:70)
        at com.google.appengine.api.mail.MailServiceImpl.doSend
(MailServiceImpl.java:96)
        at com.google.appengine.api.mail.MailServiceImpl.send
(MailServiceImpl.java:33)
        at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage
(GMTransport.java:247)
        at javax.mail.Transport.send0(Transport.java:191)
        at javax.mail.Transport.send(Transport.java:120)
        at faceRecognition.server.Email.SendMail.Gmail.sendSSLMessage
(Gmail.java:75)
        at faceRecognition.server.Email.SendMail.Gmail.send(Gmail.java:26)
        at faceRecognition.server.EmailServiceImpl.send(EmailServiceImpl.java:
17)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse
(RPC.java:527)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall
(RemoteServiceServlet.java:166)
        at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost
(RemoteServiceServlet.java:86)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
        at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:362)
        at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:729)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
        at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:152)
        at org.mortbay.jetty.handler.RequestLogHandler.handle
(RequestLogHandler.java:49)
        at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
505)
        at org.mortbay.jetty.HttpConnection$RequestHandler.content
(HttpConnection.java:843)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:395)
        at org.mortbay.thread.QueuedThreadPool$PoolThread.run
(QueuedThreadPool.java:488)


What is going on? This code sends email fine when i have it in my
desktop app. Here this exception occurs. Any ideas?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to