I got an error on sending the mail. Its worked in local system. Error
coming in the line
Transport t = ses1.getTransport("smtp");
Code:
=====
public String sendMail(String To, String subject, String
message , String from){
String result="";
try{
String host="mail.myfamilymeet.com";
String[] to= {To};
String filename="";
String username = "user";
String password = "pwd";
Properties prop = new Properties();
prop.put("mail.smtp.port", "25");
prop.put("mail.smtp.host",host);
prop.put("mail.transport.protocol", "smtp");
prop.put("mail.smtp.starttls.enable","true");
prop.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
//Authenticator auth = new MyAuthenticator();
Session ses1=Session.getDefaultInstance(prop, auth);
//Session ses1=Session.getInstance(prop,null);
ses1.setDebug(false);
Message msg=new MimeMessage(ses1);
msg.setFrom(new InternetAddress(from));
msg.setSubject(subject);
BodyPart msgbp=new MimeBodyPart();
msgbp.setContent(message,"text/html");
Multipart mpart=new MimeMultipart();
if(filename.length()>0){
msgbp=new MimeBodyPart();
DataSource src=new FileDataSource(filename);
msgbp.setDataHandler(new DataHandler(src));
msgbp.setFileName(filename);
}
mpart.addBodyPart(msgbp);
msg.setContent(mpart);
InternetAddress[] addressTo = new InternetAddress[to.length];
for (int i = 0; i < to.length; i++) {
addressTo[i] = new InternetAddress(to[i]);
}
msg.addRecipients(Message.RecipientType.TO, addressTo);
msg.saveChanges();
Transport t = ses1.getTransport("smtp");
t.connect(host, username, password);
t.sendMessage(msg, msg.getAllRecipients());
t.close();
result="Mail Sent Succefully";
}
catch(Exception es){
es.printStackTrace();
result=es.toString()+"<br><b>Exeption is: </b>";
StackTraceElement[] exe= es.getStackTrace();
int count=0;
while(count<exe.length){
result=result+"<br>"+exe[count];
count++;
}
}
return result;
}
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("user", "pwd");
}
}
Error:
====
javax.mail.NoSuchProviderException:
Provider class does not have a constructor(Session, URLName):
protocol=smtp;
type=javax.mail.Provider$Type@b40443;
class=gnu.mail.providers.smtp.SMTPTransport;
vendor=nfer...@tapsellferrier.co.uk
javax.mail.Session.getService(Session.java:488)
javax.mail.Session.getTransport(Session.java:379)
javax.mail.Session.getTransport(Session.java:339)
bin.anoop.Sample.server.mail.SendMail.sendMail(SendMail.java:63)
anoop.Sample.server.GreetingServiceImpl.greetServer(GreetingServiceImpl.java:
19)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
java.lang.reflect.Method.invoke(Method.java:616)
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
562)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
188)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
224)
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
269)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
188)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
210)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
172)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
117)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
108)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
151)
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:
703)
org.apache.jk.common.ChannelSocket
$SocketConnection.runIt(ChannelSocket.java:895)
org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:636)
Please help me. Thanks in advance