package org.jboss.seam.mail.ui; import java.io.IOException; import javax.faces.FacesException; import javax.faces.context.FacesContext; import javax.mail.Address; import javax.mail.MessagingException; import javax.mail.internet.AddressException; import javax.mail.internet.MimeMessage; /** * JSF component for rendering a Reply-to header */ public class UIReplyTo extends AddressComponent { @Override public void encodeBegin(FacesContext facesContext) throws IOException { try { MimeMessage mimeMessage = findMimeMessage(); if (mimeMessage.getReplyTo() != null && mimeMessage.getReplyTo().length > 1) { throw new AddressException("Email cannot have more than one Reply-to address", getAddress()); } Address[] replyTo = {getInternetAddress(facesContext)}; mimeMessage.setReplyTo(replyTo); } catch (AddressException e) { throw new FacesException(e.getMessage() + " " + "(" + e.getRef() + ")", e); } catch (MessagingException e) { throw new FacesException(e.getMessage(), e); } } }