Win a copy of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 this week in the Java in General forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Rob Spoor
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Jesse Silverman
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Piet Souris
  • Frits Walraven

NoSuchProviderException: smtp

 
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi
i am using outlook to send mail it is working fine but when i am using java code it produce follwing error
************************************************************
Exception in thread "main" javax.mail.NoSuchProviderException: smtp
at javax.mail.Session.getService(Session.java:746)
at javax.mail.Session.getTransport(Session.java:685)
at javax.mail.Session.getTransport(Session.java:628)
at javax.mail.Session.getTransport(Session.java:608)
at javax.mail.Session.getTransport(Session.java:663)
at javax.mail.Transport.send0(Transport.java:154)
at javax.mail.Transport.send(Transport.java:80)
at M.main(M.java:15)
************************************************************
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class myOutlook {
public static void main(String[] args)throws MessagingException {
Properties prop=System.getProperties();
prop.put("mail.smtp.host","mail.wtmeca.net");
Session sess=Session.getInstance(prop,null);
MimeMessage msg=new MimeMessage(sess);
msg.setFrom(new InternetAddress("rajami2@yahoo.com"));
msg.setRecipient(Message.RecipientType.TO,new InternetAddress("rajami2@hotmail.com"));
msg.setSubject("786");
msg.setText("Ya Allah");
Transport.send(msg);
}
}
 
Ranch Hand
Posts: 1179
Mac OS X Eclipse IDE
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You need to build your Transport object


/Rene
[ July 21, 2002: Message edited by: Rene Larsen ]
 
Raja Islam
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi
it produce follwing error
*************************************************
Exception in thread "main" javax.mail.NoSuchProviderException: No provider for m
ail.wtmeca.net
at javax.mail.Session.getProvider(Session.java:433)
at javax.mail.Session.getTransport(Session.java:627)
at javax.mail.Session.getTransport(Session.java:608)
at M.main(M.java:17)
************************************************
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class M {
public static void main(String[] args)throws MessagingException {
Properties prop=System.getProperties();
prop.put("mail.smtp.host","mail.wtmeca.net");
Session sess=Session.getInstance(prop,null);
MimeMessage msg=new MimeMessage(sess);
msg.setFrom(new InternetAddress("rajami2@yahoo.com"));
msg.setRecipient(Message.RecipientType.TO,new InternetAddress("rajami2@hotmail.com"));
msg.setSubject("786");
msg.setText("Ya Allah");
Transport transport = sess.getTransport("mail.wtmeca.net");
transport.connect("mail.wtmeca.net", "username", "password");
transport.send(msg);
}
}
can u tell me what the real prob was with my code because i cut paste this from Book.and not a single line is added from myself it is all from book.
Thankx
 
Rene Larsen
Ranch Hand
Posts: 1179
Mac OS X Eclipse IDE
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

should be:

/Rene
 
Ranch Hand
Posts: 260
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Try to use Sun's made package for smtp transportation.
Here is a piece of code, it might help:
import sun.net.smtp.SmtpClient;
import java.io.*;
....bla bla bla.....
public void sendItBaby()
{
String from="spammer@java.com";
String to="winfan@ms.com";
try{
SmtpClient client = new SmtpClient("smtp.server.com");
client.from(from);
client.to(to);
PrintStream message = client.startMessage();
message.println("To: " + to);
message.println("Subject: I love you!");
message.println("Java rules! ");
message.println();
message.println("MS doesn't!");
message.println();
message.println("End of message.");
client.closeServer();
out.println("EMail has been sent.");
}
catch (IOException e){
out.println("ERROR SENDING EMAIL:"+e);
}
...bla bla bla...
enjoy!
 
Raja Islam
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi
thankx for reply but can u tell me what the prob with my code??
 
Raja Islam
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi
The prob was that i did not included smtp.jar and i am thinkig that all the required classes are in mailapi.jar and activation.jar now it is working fine but it is slow in sending mail as compare to servlet .
Thankx
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the tip. I was having the same issue and also forgot to include smtp.jar
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
<%@page import="com.sun.mail.smtp.SMTPTransport"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*" %>
<%@page import="javax.mail.*" %>
<%@page import="javax.mail.internet.*" %>
<%@page import="javax.mail.*,javax.mail.event.*,javax.mail.internet.*" %>
<%@page import="javax.servlet.http.*" %>
<%@page import="javax.servlet.*" %>
<%@page language="java"%>

<%@page import="javax.naming.*" %>

<%
String result="";
String pass="";
String to=request.getParameter("email");

String from="chandrais010@gmail.com";

Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.mail.gmail.com");
Session mailSession = Session.getDefaultInstance(props);
try{
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("forget password");
InternetAddress ifrom=new InternetAddress(from);
message.setFrom(ifrom);
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/result","root","root");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select password from vendorslogin where email='"+to+"'");

if(rs.next()){
pass=rs.getString("password");
}
else{
out.println("Invalid");
}
//Store store=mailSession.getStore("pop3");
//store.connect("pop.gmail.com",25,null,null);

message.setText(pass);

Transport transport=mailSession.getTransport("smtp");
transport.connect("smtp.mail.gmail.com", "chandrais010@gmail.com","8971903885" );
Transport.send(message);
transport.close();
result = "Sent message successfully....";

rs.close();
st.close();
con.close();
}
catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
catch(Exception e){}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align="center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>

sir, here it is showing error

javax.mail.MessagingException: Could not connect to SMTP host: smtp.mail.gmail.com, port: 25;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at org.apache.jsp.recoverpass_jsp._jspService(recoverpass_jsp.java:109)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:337)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:198)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:319)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:233)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1938)
... 22 more

i want to send password to user through emaikl
 
reply
    Bookmark Topic Watch Topic
  • New Topic