2012년 11월 28일 수요일

Spring 메일보내기

간단하게 메일보내는 기능이 필요해서 간단하게만 작업했다. javamail라이브러리를 찾아 mail.jar를 추가해주고, servlet.xml에 아래와 같이 추가해준다.
<ol class="linenums"><li class="L0"><span class="pln"> </span><span class="tag">&lt;bean</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"org.springframework.mail.javamail.JavaMailSenderImpl"</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"mailSender"</span><span class="tag">&gt;</span></li><li class="L1"><span class="pln"> </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"host"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"smtp.gmail.com"</span><span class="tag">&gt;</span></li><li class="L2"><span class="pln"> </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"username"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"보내는사람@이메일주소"</span><span class="tag">&gt;</span></li><li class="L3"><span class="pln"> </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"password"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"비밀번호"</span><span class="tag">&gt;</span></li><li class="L4"><span class="pln"> </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"port"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"587"</span><span class="tag">&gt;</span></li><li class="L5"><span class="pln"> </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"javaMailProperties"</span><span class="tag">&gt;</span></li><li class="L6"><span class="pln"> </span><span class="tag">&lt;props&gt;</span></li><li class="L7"><span class="pln"> </span><span class="tag">&lt;prop</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"mail.smtp.auth"</span><span class="tag">&gt;</span><span class="pln">true</span><span class="tag">&lt;/prop&gt;</span></li><li class="L8"><span class="pln"> </span><span class="tag">&lt;prop</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"mail.smtp.starttls.enable"</span><span class="tag">&gt;</span><span class="pln">true</span><span class="tag">&lt;/prop&gt;</span></li><li class="L9"><span class="pln"> </span><span class="tag">&lt;prop</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"mail.smtp.timeout"</span><span class="tag">&gt;</span><span class="pln">8500</span><span class="tag">&lt;/prop&gt;</span></li><li class="L0"><span class="pln"> </span><span class="tag">&lt;/props&gt;</span></li><li class="L1"><span class="pln"> </span><span class="tag">&lt;/property&gt;</span></li><li class="L2"><span class="pln"> </span><span class="tag">&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/property&gt;&lt;/bean&gt;</span></li><li class="L3"><span class="pln"> </span></li><li class="L4"><span class="pln"> </span><span class="tag">&lt;bean</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"컨트롤러.class"</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"mainbean"</span><span class="tag">&gt;</span></li><li class="L5"><span class="pln"> </span><span class="tag">&lt;constructor-arg&gt;</span></li><li class="L6"><span class="pln"> </span><span class="tag">&lt;ref</span><span class="pln"> </span><span class="atn">bean</span><span class="pun">=</span><span class="atv">"sqlMapClientTemplate"</span><span class="tag">&gt;</span></li><li class="L7"><span class="pln"> </span><span class="tag">&lt;/ref&gt;&lt;/constructor-arg&gt;</span></li><li class="L8"><span class="pln"> </span><span class="tag">&lt;constructor-arg&gt;</span></li><li class="L9"><span class="pln"> </span><span class="tag">&lt;ref</span><span class="pln"> </span><span class="atn">bean</span><span class="pun">=</span><span class="atv">"mailSender"</span><span class="tag">&gt;</span></li><li class="L0"><span class="pln"> </span><span class="tag">&lt;/ref&gt;&lt;/constructor-arg&gt;</span></li><li class="L1"><span class="pln"> </span><span class="tag">&lt;/bean&gt;</span></li><li class="L2"><span class="pln">&nbsp;</span></li></ol> 위와 같이 컨트롤러 생성자에 mailSender를 추가했다.
  1. @Controller
  2. public class AdgameController {
  3. SqlMapClientTemplate smct;
  4. private MailSender mailSender;
  5. public AdgameController(SqlMapClientTemplate smct,MailSender mailsender) { //생성자
  6. this.smct = smct;
  7. this.mailSender=mailsender;
  8. }
  9.  
  10.  
  11.  
  12. @RequestMapping("/sendmail.html")
  13. public void sendMail(HttpServletRequest req,HttpServletResponse res){
  14. String title = req.getParameter("title");
  15. String content = req.getParameter("content");
  16. SimpleMailMessage message = new SimpleMailMessage();
  17. message.setFrom("보내는사람@이메일주소");
  18. message.setSubject(title);
  19. message.setText(content);
  20.  
  21. message.setTo("받는사람@이메일주소");
  22. mailSender.send(message);
  23. }
  24. }
정말 심플하다.

댓글 없음:

댓글 쓰기