Spring APIによるメール送信(楽バイトjava,楽バイトアーキテクチャ)
詳細Springメールの送信方法
環境準備
Mavenプロジェクトを作成しpom.xmlファイルに依存を追加
メール送信beanの設定
ここでxmlプロファイルでメール送信に対応するbeanラベルを設定
インタフェースと実装クラスの定義
インタフェースの定義
実装クラスの定義
メール送信テスト
添付ファイルの送信
環境準備
Mavenプロジェクトを作成しpom.xmlファイルに依存を追加
org.springframework
spring-context
5.2.4.RELEASE
org.springframework
spring-context-support
5.2.4.RELEASE
org.springframework
spring-test
5.2.4.RELEASE
test
com.sun.mail
javax.mail
1.6.2
メール送信beanの設定
ここでxmlプロファイルでメール送信に対応するbeanラベルを設定
インタフェースと実装クラスの定義
インタフェースの定義
package com.xxxx.springMail;
/**
*
*/
public interface OrderManager {
void placeOrder();
}
実装クラスの定義
package com.xxxx.springMail;
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class SimpleOrderManager implements OrderManager {
@Resource
private JavaMailSenderImpl mailSender;
@Resource
private SimpleMailMessage templateMessage;
@Override
public void placeOrder() {
//
SimpleMailMessage msg = new SimpleMailMessage(this.templateMessage);
//
msg.setTo(" ");
//
msg.setText("Hello Spring Mail");
try{
//
this.mailSender.send(msg);
} catch (MailException ex) {
System.err.println(ex.getMessage());
}
}
}
メール送信テスト
/**
*
* @param args
*/
public static void main(String[] args) {
ApplicationContext ac=new ClassPathXmlApplicationContext("spring.xml");
SimpleOrderManager simpleOrderManager =
(SimpleOrderManager) ac.getBean("simpleOrderManager");
simpleOrderManager.placeOrder();
}
添付ファイルの送信
/**
*
* @param args
* @throws MessagingException
*/
public static void main(String[] args) throws MessagingException {
ApplicationContext ac = new ClassPathXmlApplicationContext("spring.xml");
JavaMailSender mailSender= (JavaMailSender) ac.getBean("mailSender");
MimeMessage message= mailSender.createMimeMessage();
message.setSubject("spring_mail"); //
//
MimeMessageHelper helper = new MimeMessageHelper(message,true,"utf-8");
helper.setTo(new InternetAddress(" "));//
helper.setText("Thank you for ordering!"); //
helper.setFrom(" "); //
//
File file = new File("C:\\work\\ .txt");
//
helper.addAttachment(file.getName(), file);
//
mailSender.send(message);
}