Hi Thiago... sorry for delay...been coding all day.

ok here is sendBroadcast...

it just rifles out a broadcast to a mailing list using javamail

I hid the port 3's for safety

but it works beautiful

just have to fix the rendering



    private void sendBroadcast() throws Exception
    {
        final String noReplyEmailAddress = 
getAdminLayout().getNoReplyEmailAddress();
        final String noReplyKnownPassword = 
getAdminLayout().getNoReplyPassword();    

        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.googlemail.com");
        props.put("mail.smtp.port", "");
        props.put("mail.smtp.host", "smtp.live.com");
        props.put("mail.smtp.port", "");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "");
        props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.auth", "true");
        boolean debug = true;
        Session session = Session.getInstance(props, new Authenticator()
        {
            final String USERNAME = noReplyEmailAddress;

            final String SECRET = noReplyKnownPassword;

            @Override
            protected PasswordAuthentication getPasswordAuthentication()
            {
                return new PasswordAuthentication(USERNAME, SECRET);
            }
        });
        session.setDebug(debug);

        // create a message
        Message msg = new MimeMessage(session);

        // set the from and to addresses
        InternetAddress addressFrom = new InternetAddress(noReplyEmailAddress);
        msg.setFrom(addressFrom);

        javax.mail.internet.InternetAddress[] recipients = new 
javax.mail.internet.InternetAddress[bean.getPlayers()
                .size() + bean.getTeams().size() + bean.getPeople().size() + 
bean.getSponsors().size()];
        int count = 0;

        for (Sponsor sponsor : bean.getSponsors())
            recipients[count++] = new 
InternetAddress(sponsor.getEmailAddress());

        for (Team team : bean.getTeams())
            for (Player player : team.getPlayers())
                recipients[count++] = new 
InternetAddress(player.getEmailAddress());

        for (Player player : bean.getPlayers())
            recipients[count++] = new InternetAddress(player.getEmailAddress());

        for (Person person : bean.getPeople())
            recipients[count++] = new InternetAddress(person.getEmailAddress());

        msg.setRecipients(Message.RecipientType.TO, recipients);

        msg.setSubject(bean.getSubject());
        msg.setText(bean.getMessage());
        if (recipients.length > 0)
            Transport.send(msg);
        else
        {
            String errormsg = "PPHL Broadcast not sent, recipient list empty";
            //logger.warn(errormsg);
            System.out.println(errormsg);
        }
    }                                     

Reply via email to