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

📄 sendmailservlet.java~30~

📁 这是我们老师的做的,挺不错的,要下载的话可以下载来
💻 JAVA~30~
字号:
package mulmail;

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

public class SendMailServlet extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=GB18030";

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
       response.setContentType(CONTENT_TYPE) ;
       PrintWriter out = response.getWriter() ;
       request.setCharacterEncoding("GBK") ;

       //发件人使用发邮件的电子信箱服务器
       String host = request.getParameter("server") ;

       //发邮件的出发地(发件人的信箱)
       String from = request.getParameter("from") ;

       //发件人的密码
       String psw = request.getParameter("password") ;

       //发邮件的目的地(收件人信箱)
       String to = request.getParameter("to") ;

       //发邮件的主题
       String subject = request.getParameter("subject");

       //发送的附件
       String fileAttachment = request.getParameter("attachment") ;

       //发邮件的内容
       String content = request.getParameter("content");
     try
     {

         // 返回Properties对象
        Properties props = System.getProperties();

        // 设置邮件服务器的连接协议
        props.put("mail.smtp.host", host);

        // 设置认证
        props.put("mail.smtp.auth", "true");

        //传递认证的参数
        MyAuthenticator myauth = new MyAuthenticator(from,psw);

        //获得session对象
        Session session = Session.getDefaultInstance(props, myauth);

        //传递参数,生成message对象。
        MimeMessage message = new MimeMessage(session);

        // 设置发件人的地址
        message.setFrom(new InternetAddress(from));

        // 设置收件人的地址以及接收的方式
        message.addRecipient(RecipientType.TO,new InternetAddress(to));

        // 设置主题
        message.setSubject(subject);

        //生成一个MimeBodyPart对象,用来存放信件内容
         MimeBodyPart messageBodyPart = new MimeBodyPart();

         //把信件的内容装入messageBodyPart
         messageBodyPart.setText(content) ;

         //新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)
         Multipart multipart = new MimeMultipart();

         //把messageBodyPart(信件的内容)添加到multipart 中
         multipart.addBodyPart(messageBodyPart) ;

         //再生成一个MimeBodyPart对象,用来存放附件
         messageBodyPart = new MimeBodyPart();

         //以路径作为参数生成某数据源
         DataSource source = new FileDataSource(fileAttachment);

         //给messageBodyPart(附件)设置内容为source的内容
         messageBodyPart.setDataHandler(new DataHandler(source)) ;

         //给messageBodyPart(附件)设置的名字为原文件的名字
         messageBodyPart.setFileName(fileAttachment) ;

         //把messageBodyPart(附件)也添加到multipart中
         multipart.addBodyPart(messageBodyPart) ;

         //把multipart作为消息对象的内容
         message.setContent(multipart) ;

         //发送消息
         Transport.send(message);

         out.print("发送成功") ;

     }
     catch(Exception e)
     {
        System.out.println(e) ;

     }

    }

    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        doGet(request, response);
    }

    //Clean up resources
    public void destroy() {
    }
}

⌨️ 快捷键说明

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