2009-07-07 4 views
1

J'ai une application web sur JBoss 4.2.3 et j'aimerais l'envoyer par e-mail. Je pourrais faire quelque chose comme:Méthode recommandée pour envoyer un e-mail à partir d'une application Web?

try { 
Properties props = System.getProperties(); 
props.put("mail.transport.protocol", "smtp"); 
props.put("mail.smtp.starttls.enable","false"); 
props.put("mail.smtp.host","smtp.somehost.com"); 
props.put("mail.smtp.auth", "true"); 
Authenticator auth = new SMTPAuthenticator(); 
Session session = Session.getInstance(props, auth); 
// -- Create a new message -- 
Message msg = new MimeMessage(session); 
// -- Set the FROM and TO fields -- 
msg.setFrom(new InternetAddress("[email protected]")); 
msg.setRecipients(Message.RecipientType.TO, 
InternetAddress.parse("[email protected]", false)); 
msg.setSubject("yadayada"); 
msg.setText("Yada yada"); 
// -- Set some other header information -- 
msg.setHeader("MyMail", "Mr. XYZ"); 
msg.setSentDate(new Date()); 
// -- Send the message -- 
Transport.send(msg); 
} 
catch (Exception ex) { 
    ex.printStackTrace(); 
    System.out.println("Exception "+ex); 
} 

mais il ne se sent pas bien. Cette échelle va-t-elle?

Répondre

1

Combien de messages envoyez-vous? Avez-vous mesuré combien de temps cela prend pour courir? (. Je suppose que l'évier de temps important sera dans la send() réelle au MTA Que c'est important est une autre affaire)

Peut-être:

  1. vous devez faire la queue les messages pour envoyer à votre MTA dans une file d'attente, et l'envoi en cours d'exécution dans un fil séparé?
  2. Vous avez besoin d'une liste de diffusion/d'un alias, et donc n'envoyez qu'un seul courrier à 'n' destinataires?

mais tout cela dépend du nombre de messages que vous allez envoyer, et de la différence entre les ensembles de destinataires.

Questions connexes