sun.net.smtp.SmtpProtocolException: 550 error.. Have no idea what it is...

Hello,

I am writing a small scriptlet in jsp to send a mail to a specified email address. Here is the code...

<%@ page import="sun.net.smtp.SmtpClient, java.io.*" %>
<%
 String from="myname@mydomain.com";
 String to="recipient@recipientdomain.com";
 try{
     SmtpClient client = new SmtpClient("203.197.175.3"); //This is the SMTP server address
     client.from(from);
     client.to(to);
     PrintStream message = client.startMessage();
     message.println("To: " + to);
     message.println("Subject:  Sending email from JSP!");
     message.println("This was sent from a JSP page!");
     message.println();
     message.println("Cool beans! :-)");
     message.println();    
     message.println();
     client.closeServer();
  }
  catch (IOException e){      
     System.out.println("ERROR SENDING EMAIL:"+e);
  }
%>


I am getting the following error:

ERROR SENDING EMAIL:sun.net.smtp.SmtpProtocolException: 550 5.7.1 <recipient@recipientdomain.com>... Relaying denied. IP name lookup failed [192.168.3.217]  

Note: 192.168.3.217 is my IP address behind the LAN.

Plz help me out.
Vikram.V
LVL 2
vikram_1982Asked:
Who is Participating?
 
dheerajbhatConnect With a Mentor Commented:
Hi,
    It means that the userid you are using is not correct.Are you sure about that on the server you are trying.For example if my mailaddress is dheerajbhat@xyz.com my id might be dbhat.

looks like you dont have an id on that server.To confirm that,try to capture the server response by adding
client.sendServer("VRFY youruserid");
/*Add these lines*/
String response = client.getResponseString();
System.out.println("THE RESPONSE IS:"+response );
/*Till here*/
 client.from(from);

  If you get a response like 550,it means your userid is not verified.Please check that.

Best of luck
REgards
Dheeraj Bhat


0
 
TimYatesCommented:
You are trying to force your email address as being something other than your address...

This is called "relaying", and was the biggest cause of spam...  Therefore, almost all public mail servers do not allow it (and those that do often get added to spam-blacklists)...

You will have to send the email from a mail server set up on your machine...

Tim
0
 
TimYatesCommented:
Either that, or you will have to authenticate on that mail server (with your email/password) before you try to send the mail...

Tim
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
vikram_1982Author Commented:
Okay, I have my id and password for this server. How do i include them in the code above??
0
 
dheerajbhatCommented:
Hi,
   Add the following line of code as shown below


     SmtpClient client = new SmtpClient("203.197.175.3"); //This is the SMTP server address
/*Add this code*/
      client.sendServer("VRFY youruserid");
/*till here*/
     client.from(from);

  It might still decline if some IP matching is done to validate relaying.And your
   client.from(from) statement may require your actual mail address(on the same server to which you are sending).

  Hope this solves your problem

Regards
Dheeraj Bhat

0
 
vikram_1982Author Commented:
Dheeraj,

I tried what u  told me and this is the error message i got.. any idea??

"ERROR SENDING EMAIL:sun.net.smtp.SmtpProtocolException: 252 2.5.2 Cannot VRFY user; try RCPT to attempt delivery (or try finger)"
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.