Application Context XML Content: -beans- -bean id="propertyConfigurerFW" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"- -property name="locations"- -list- -value-classpath:comrepkinresourcesapplicationContextFW.properties-value- -value-classpath:comrepkinresourcesldap.properties-value- -list- Application Context X -property- -property name="placeholderPrefix" value="["- -property name="placeholderSuffix" value="]"- -bean- -bean id="javaMailSenderImpl" scope="singleton" class="org.springframework.mail.javamail.JavaMailSenderImpl"- -property name="host" value="[smtp.host]"- -property name="port" value="[smtp.port]"- -property name="protocol" value="smtp"- -property name="username" value="[smtp.username]"- -property name="password" value="[smtp.password]"- -bean- -bean id="mailPreparator" scope="singleton" class="com.repkin.mail.MailPreparator"- -property name="from" value="[smtp.from]" - -property name="charSet" value="[charSet]" - -bean- -context:component-scan base-package="com.repkin.mail"- -aop:aspectj-autoproxy proxy-target-class="true"- -beans- Mail Class Content: package com.repkin.mail; import java.util.ArrayList; import java.util.List; public class Mail { private String from; private String to; private String subject; private String text; private Listattachments; public Attachment getNewAttachment(){ return new Attachment(); } public Mail() { attachments = new ArrayList (); } public class Attachment { private String fileName; private String attachmentName; /*GETTERS AND SETTERS*/ } /*GETTERS AND SETTERS*/ } MailPreparator Class Content: package com.repkin.mail; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Multipart; import javax.mail.Message.RecipientType; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import org.springframework.mail.javamail.MimeMessagePreparator; import com.repkin.StringUtil; import com.repkin.mail.Mail.Attachment; public class MailPreparator implements MimeMessagePreparator { private Mail mail; private String from; private String charSet; public void prepare(MimeMessage mimeMessage) throws Exception { mimeMessage.addFrom(InternetAddress.parse(getFrom())); mimeMessage.addRecipients(RecipientType.TO, mail.getTo()); mimeMessage.setSubject(mail.getSubject(),getCharSet()); mimeMessage.setText(mail.getText(),getCharSet()); if(mail.getAttachments() != null && mail.getAttachments().size() > 0) { Multipart multipart = new MimeMultipart(); MimeBodyPart messageText = new MimeBodyPart(); messageText.setText(mail.getText(),getCharSet()); multipart.addBodyPart(messageText); for (int i = 0; i < attachment =" mail.getAttachments().get(i);" mimebodypart =" new" filedatasource =" new">= 0) { return StringUtil.asNotNullString(attachment).substring(StringUtil.asNotNullString(attachment).lastIndexOf("/")+1); } return StringUtil.asNotNullString(attachment); } /*GETTERS AND SETTERS*/ } MailServiceImpl Class Content: package com.repkin.mail; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.stereotype.Service; @Service("mailService") @Scope("singleton") public class MailServiceImpl implements MailService { private JavaMailSenderImpl javaMailSenderImpl; private MailPreparator mailPreparator; public void sendMail(Mail mail) { try { validateMail(mail); mailPreparator.setMail(mail); javaMailSenderImpl.setDefaultEncoding("UTF-8"); javaMailSenderImpl.send(mailPreparator); } catch (Exception e) { } } public void validateMail(Mail mail){ } @Autowired public void setJavaMailSenderImpl(JavaMailSenderImpl javaMailSenderImpl) { this.javaMailSenderImpl = javaMailSenderImpl; } @Autowired public void setMailPreparator(MailPreparator mailPreparator) { this.mailPreparator = mailPreparator; } }
5 Mayıs 2015 Salı
Spring MailPreparator
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder