How do I Pass an array to a method

How do I pass the array(in this case it is only one, in the future it will be more
public class TestSchedular_from_main {
    String setRay[]     = {"address@blah.com"};
      public static void main(String[] args) {
      
      DocChangeChecker dockChg = new DocChangeChecker();
      String recipients[] =  setRay; // how do I do this?
      String subject      = "Testing Batch Email frm a bat file";
      String message      = "Never fear Theodore is here";
      String from         = "address@blah.com";
    PostEmail( recipients, subject, message , from);
  ------
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class PostEmail {
      public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
{
    boolean debug = false;

     //Set the host smtp address
     Properties props = new Properties();
     //Virtual IP address(VIP)
     props.put("mail.smtp.host", "999.999.9.999");//Virtual IP address(VIP)
    // 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);
}

 

      

}
coolgemAsked:
Who is Participating?
 
ldbkuttyConnect With a Mentor Commented:
This works for me:

public class test {

     static String[] setRay = {"test1@email1.com", "test2@email2.com"};

     public static void main(String[] args) {
          String[] recipients = setRay;
          testMethod(recipients);
      }
      
      public static void testMethod(String[] rec) {
          for (int i = 0; i<rec.length; i++)
      System.out.println("REC" + rec[i]);
      }
}
0
 
ldbkuttyCommented:
you have to define static for using a variable in another function...

public class TestSchedular_from_main {

     static String[] setRay = {"address1@blah.com","address2@blah.com"};
 
     public static void main(String[] args) {
     
         DocChangeChecker dockChg = new DocChangeChecker();
         String[] recipients = setRay;
         String subject = "Testing Batch Email frm a bat file";
         String message = "Never fear Theodore is here";
         String from = "address@blah.com";
         PostEmail( recipients, subject, message , from);
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.