Solved

Email problem

Posted on 2004-10-28
4,525 Views
Last Modified: 2013-11-24
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());
                  
            }
      
      }
}
0
Question by:Bourke
    3 Comments
     
    LVL 3

    Expert Comment

    by:vippx
    Hi

    Are u sure your SMTP server is exists and is running and does not require authentication??(mail.smtp.host)
    0
     
    LVL 9

    Accepted Solution

    by:
    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
     
    LVL 1

    Expert Comment

    by:zcayo
    The java code is fine... as mentioned above, the mail server used is rejecting the message due to relaying rules.
    0

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Learn The Basics of Ethical Hacking & Pen Testing

    Computer and network security is one of the fastest growing and most essential industries in technology, meaning companies will pay big bucks for ethical hackers. This is the perfect course to leap into this lucrative career, learning how to use ethical hacking to reveal ...

    Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
    Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

    884 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    21 Experts available now in Live!

    Get 1:1 Help Now