Assuming GlassFish3.1.2 is your server.
<1> add a JavaMail session in the Admin Console with following settings:
JNDI Name: myJavaMailSession
Mail Host: 127.0.0.1
Default User: me
Default Sender Address: me@any.net
<2> create a timer bean with following content:
@Stateless
public class MyBean {
@Resource(mappedName = "myJavaMailSession")
private javax.mail.Session session;
@Schedule(minute = "*", second = "*/10", hour = "*", persistent = false)
public void myTimer() {
email("she@any.net", "mySubject", "myText");
}
private void email(String recipient, String subject, String text) throws MessagingException {
MimeMessage message = new MimeMessage(session);
message.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient));
message.setSubject(subject);
message.setText(text);
Transport.send(message);
}
}
<3> allow outbound mails as following if you use iptables:
-A OUTPUT -p tcp --dport 25 -j ACCEPT
-A INPUT -p tcp --sport 25 -m state --state ESTABLISHED,RELATED -j ACCEPT