⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendattachmentmail.java

📁 介绍了j2ee开发常用的学习知识,如servlet,javamail,EJB等知识,并有项目源码.
💻 JAVA
字号:
/*
 * SendAttachmentMail.java
 *
 * Created on 2007年11月29日, 上午10:30
 */

package com.mail;

import java.io.*;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *
 * @author hyl
 * @version
 */
public class SendAttachmentMail extends HttpServlet {
    
    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        //变量声明
        String smtp,from,to,cc,bcc,subject,body;
//		获得用户输入数据
        smtp = "127.0.0.1";
        from = request.getParameter("from");
        to = request.getParameter("to");
        subject = request.getParameter("subject");
        if(subject!=null){
            subject = new String(subject.getBytes("iso-8859-1"));
        }
        body = request.getParameter("body");
        ///////////////////////
        java.util.Properties props;//系统属性
        Session mailSession;//邮件会话对象
        MimeMessage mimeMsg; //MIME邮件对象
        try{
            //设置系统属性
            props = java.lang.System.getProperties(); //获得系统属性对象
            props.put("mail.smtp.host",smtp); //设置SMTP主机
            //获得邮件会话对象
            mailSession = Session.getDefaultInstance(props,null);
            //创建MIME邮件对象
            mimeMsg = new MimeMessage(mailSession);
            //设置发信人
            mimeMsg.setFrom(new InternetAddress(from));
            //设置收信人
            if(to!=null) {
                mimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
            }
            //设置邮件主题
            mimeMsg.setSubject(subject,"gb2312");
            //处理邮件体
            //		正文部分
            BodyPart messageBodyPart = new MimeBodyPart();
            // Fill the message
            String contentMessage=request.getParameter("body");
            messageBodyPart.setText(contentMessage);
            Multipart multipart = new MimeMultipart();
            multipart.addBodyPart(messageBodyPart);
            // Part two is attachment
            String filename=request.getParameter("thefile");
            messageBodyPart = new MimeBodyPart();
            DataSource source = new FileDataSource(filename);
            messageBodyPart.setDataHandler(new DataHandler(source));
            messageBodyPart.setFileName(filename);
            multipart.addBodyPart(messageBodyPart);
            // Put parts in message
            mimeMsg.setContent(multipart);
            // Send the message
            Transport.send(mimeMsg);
        }catch (Exception e){
            response.getWriter().println(e.toString());
        }
        
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
    
    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -