使用javamail发送邮件

来源:互联网 发布:飞行器设计知乎 编辑:程序博客网 时间:2024/04/29 14:33

SendMailAction.java

------------

 

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.mail.struts.action;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.mail.struts.form.MessageForm;

 

/**
 * MyEclipse Struts Creation date: 12-29-2009
 *
 * XDoclet definition:
 *
 * @struts.action validate="true"
 */
public class SendMailAction extends Action {
 /*
  * Generated Methods
  */

 /**
  * Method execute
  *
  * @param mapping
  * @param formF
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) throws Exception {
  MessageForm m = (MessageForm) form;
  
  //邮件服务器名称
  String server = "mail.gongsuda.com";
  //smtp 验证
  Properties props = new Properties();
  props.put("mail.smtp.host", server);// 指定SMTP服务器
  props.put("mail.smtp.auth", "true");// 指定是否需要SMTP验证

  Session mailSession = Session.getDefaultInstance(props);
  //启用javamail调试
  mailSession.setDebug(true);
  Message message= new MimeMessage(mailSession);
  //构建邮件信息对象
  message.setFrom(new InternetAddress(m.getFromUser()));//发件人  
  //Message.RecipientType.TO 明发
  message.addRecipient(Message.RecipientType.TO,new    InternetAddress(m.getToUser()));//收件人     
  message.addRecipient(Message.RecipientType.CC, new InternetAddress("csdn@hotmail.com") );
  message.addRecipient(Message.RecipientType.BCC, new InternetAddress("88888@qq.com") );
  
   message.setSubject(m.getTitleMsg());//邮件主题  
  
  
         message.setText(new String(m.getBodyMsg().getBytes("iso-8859-1")));//邮件内容  
         message.saveChanges();  
         
         Transport   transport =   mailSession.getTransport("smtp");  
         transport.connect(server,"username","pwd");   //发件人 用户名密码
         transport.sendMessage(message,message.getAllRecipients());  
         transport.close();  


  // TODO Auto-generated method stub
  return null;
 }
}


jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<html>
 <head>
  <title>邮件发送</title>
  <meta http-equiv="pragma" content="no-cache">
  <meta http-equiv="cache-control" content="no-cache">
  <meta http-equiv="expires" content="0">
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="This is my page">
 </head>
 <body>
  <form action="/mymail/send.do" method="post">
   <div>
    <div>
     邮件发送
    </div>
    <div>
     发件人:
     <input type="text" name="fromUser" value="xiaoxia@gongsuda.com">
    </div>
    <div>
     收件人:
     <input type="text" name="toUser" value="x19861106@126.com">
    </div>
    <div>
     标题:
     <input type="text" name="titleMsg" / value="TEST">
    </div>
    <div>
     邮件内容
    </div>
    <div>
     <textarea rows="10" cols="50" name="bodyMsg"></textarea>
    </div>
    <div>
     <input type="submit" value="发送">
     &nbsp;
     <input type="reset" value="重置">
    </div>
   </div>
  </form>
 </body>
</html>


struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans >
    <form-bean name="messageForm" type="com.mail.struts.form.MessageForm" />

  </form-beans>

  <global-exceptions />
  <global-forwards />
  <action-mappings >
    <action name="messageForm" path="/send" type="com.mail.struts.action.SendMailAction">
      <set-property property="cancellable" value="true" />
    </action>

  </action-mappings>

  <message-resources parameter="com.mail.struts.ApplicationResources" />
</struts-config>