title: Why does Transport.sendMessage fail when one of the addresses is not valid?
body: <p>I am sending mail using following code </p>
  
  <pre><code>public void send() throws MessagingException
      {
          // create some properties and get the Session
          Properties props = new Properties();
          props.put("mail.smtp.host", this.getSMTPServer());
  
          if( this.getDebugMode() )
              props.put("mail.debug", "true");
          else
              props.put("mail.debug", "false");
          //Comment by Sandip for FIRSTMEDIA-578
          //props.put("mail.smtp.auth", "true");
  
          Session session = Session.getInstance(props, null);
  
          MimeMessage mail = new MimeMessage(session);
  
          //Set Mailer string in Header.. 
          mail.setHeader("X-Mailer", this.getMailer() );
  
          //Set TO Recipients, toList would be of comma separated if multiple addresses are there
          if( this.getTo() != null )
          {
              StringTokenizer st = new StringTokenizer(this.getTo(),",");
              InternetAddress[] recList = new InternetAddress[st.countTokens()];
  
              for (int r = 0; st.hasMoreTokens(); r++)
                  recList[r] = new InternetAddress(st.nextToken().trim());          
  
              if(recList.length != 0 )
              {
                  mail.setRecipients(Message.RecipientType.TO, recList);
              }
  
          }           
  
  
          //Set CC Recipients, bccList would be of comma separated if multiple addresses are there
          if( this.getCc() != null )
          {
              StringTokenizer st1 = new StringTokenizer(this.getCc(),",");
              InternetAddress[] copyList = new InternetAddress[st1.countTokens()];
              for (int c = 0; st1.hasMoreTokens(); c++)
                  copyList[c] = new InternetAddress(st1.nextToken().trim());          
  
              if(copyList.length != 0 )
                  mail.setRecipients(Message.RecipientType.CC, copyList);
          }           
  
  
          //Set BCC Recipients, bccList would be of comma separated if multiple addresses are there
          if( this.getBcc() != null )
          {
              StringTokenizer st2 = new StringTokenizer(this.getBcc(),",");
              InternetAddress[] bcopyList = new InternetAddress[st2.countTokens()];
              for (int c = 0; st2.hasMoreTokens(); c++)
                  bcopyList[c] = new InternetAddress(st2.nextToken().trim());          
  
              if(bcopyList.length != 0 )
                  mail.setRecipients(Message.RecipientType.BCC, bcopyList);
          }   
  
  
          // Create a mime message
          mail.setFrom(new InternetAddress(this.getFrom()));
          mail.setSubject(subject);
  
  
          //create mulitple parts to added
          Multipart mp = new MimeMultipart();
  
          MimeBodyPart mbp1 = new MimeBodyPart();
  
          //messageMIME can be "text/plain" or "text/html" or anything related to mime
          mbp1.setContent(this.getMsgText(),this.getContentType());
          mp.addBodyPart(mbp1);
  
          //Adding attachments to mail
          if( this.attachmentList != null )
          {
              for(int i=0; i &lt; this.attachmentList.size() ; i++ )
              {
                  MimeBodyPart mbp = new MimeBodyPart();
                  FileDataSource fds = new FileDataSource((File)this.attachmentList.elementAt(i));
                  mbp.setDataHandler(new DataHandler(fds));
                  mbp.setFileName(fds.getName());
                  mp.addBodyPart(mbp);
              }
          }
  
          mail.setContent(mp);
          mail.saveChanges();
  
          mail.setSentDate(new Date());
  
          // Send the message
          Transport trans = session.getTransport("smtp");
          trans.connect(this.getSMTPServer(), this.getSMTPUsername(), this.getSMTPPassword());
          trans.sendMessage(mail, mail.getAllRecipients());
          trans.close();
  
      }
  </code></pre>
  
  <p>With this When mail sending fails to one recipient out of list of recipient all recipient mail send fails.</p>
  
  <p>Is there any change require to send mail to all correct mail recipient from list ?</p>