Email problem

Hi I've have code that I am using to send and email.

I'm getting the following error when I run it:

Invalid Addresses;
  nested exception is:
        class com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for [The To email address is here]

email address I'm sending to and from are valid email addresses.
Code is as follows:

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

public class SendMail
{
      
      public void Send( String recipients[ ], String subject, String message , String from) throws MessagingException
      {
          boolean debug = false;
      
           //Set the host smtp address
           Properties props = new Properties();
           props.put("mail.smtp.host", "[SMTP Server]");
      
          // create some properties and get the default Session
          Session session = Session.getDefaultInstance(props, null);
          session.setDebug(debug);
      
          // create a message
          Message msg = new MimeMessage(session);
      
          // set the from and to address
          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);
        
      
          // Optional : You can also set your custom headers in the Email if you Want
          //msg.addHeader("MyHeaderName", "myHeaderValue");
      
          // Setting the Subject and Content Type
          msg.setSubject(subject);
          msg.setContent(message, "text/plain");
          Transport.send(msg);
          
       }  
      
      
      
      public static void main(String[] args){
      
            String[] recipents = {"[To Email address]"};
      
            SendMail sm = new SendMail();
            
            try{
                  sm.Send(recipents, "Testing mail", "Hello there", "[From Email address]");
            }
            catch(MessagingException msgex)      {
                  
                  System.out.println(msgex.getMessage());
                  
            }
      
      }
}
BourkeAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
TannerManConnect With a Mentor Commented:
The smtp server your trying to send mail out of is tossing the error up "Unable to relay for " .

Ask the administrator of the mail server to configure it to allow relaying for the IP address of your web server.
That should correct your issue, IF I understood it correctly.

Hope it helps
0
 
vippxCommented:
Hi

Are u sure your SMTP server is exists and is running and does not require authentication??(mail.smtp.host)
0
 
zcayoCommented:
The java code is fine... as mentioned above, the mail server used is rejecting the message due to relaying rules.
0
All Courses

From novice to tech pro — start learning today.