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

📄 javamailattachment.jsp

📁 此资源是jsp应用开发 邓子云等编写的一书里的源代码
💻 JSP
字号:
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="java.util.*,java.io.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest" %>

<%@ page contentType="text/html;charset=GB2312" %>

<html>
<head>
  <title>CH17 - JavaMail2.jsp</title>
</head>
<body>

<h2>利用JavaMail来传送电子邮件 - 附件</h2>

<%
	InternetAddress[] address = null;

	request.setCharacterEncoding("GBK");
	MultipartRequest multi = new MultipartRequest(request , "." , 5*1024*1024 , "GBK");

	String host   = multi.getParameter("Host");
	String user   = multi.getParameter("User");
        String password   = multi.getParameter("Password");
        String From   = multi.getParameter("From");
	String to           = multi.getParameter("To");
	String Subject      = multi.getParameter("Subject");
	String type	    = multi.getParameter("Type");
	String messageText  = multi.getParameter("Message");
	String FileName     = multi.getFilesystemName("FileName");



	try {

  		// 设定所要用的Mail 服务器和所使用的传输协议
  		 Properties props = new Properties();
                 props.put("mail.smtp.host", host); //指定SMTP服务器
                 props.put("mail.smtp.auth", "true"); //指定是否需要SMTP验证

  		// 产生新的Session 服务
  		 Session mailSession = Session.getDefaultInstance(props);
  		 Message msg = new MimeMessage(mailSession);

  		// 设定传送邮件的发信人
 		 msg.setFrom(new InternetAddress(From));

  		// 设定传送邮件至收信人的信箱
  		address = InternetAddress.parse(to,false);
  		msg.setRecipients(Message.RecipientType.TO, address);

  		// 设定信中的主题
  		msg.setSubject(Subject);

  		// 设定送信的时间
  		msg.setSentDate(new Date());

  		if (FileName != null)
  		{
    	  		File file = new File(FileName);

	  		// 如果有附件,先将邮件内容部分存起来
          		MimeBodyPart mbp1 = new MimeBodyPart();

 	  		// 设定邮件内容的类型为 text/plain 或 text/html
  			mbp1.setContent(messageText, type + ";charset=GB2312");

          		// 再来对附件作处理
          		MimeBodyPart mbp2 = new MimeBodyPart();
          		FileDataSource fds = new FileDataSource(FileName);
          		mbp2.setDataHandler(new DataHandler(fds));
          		mbp2.setFileName(MimeUtility.encodeText(fds.getName(), "GB2312", "B"));

          		// 最后再将两者整合起来,当作一份邮件送出
          		Multipart mp = new MimeMultipart();
          		mp.addBodyPart(mbp1);
          		mp.addBodyPart(mbp2);
          		msg.setContent(mp);
   		}
   		else
   		{
          		// 若没有附件时,就直接存邮件内容
         		 msg.setContent(messageText,type + ";charset=GB2312");
   		}

                Transport transport = mailSession.getTransport("smtp");
                transport.connect(host, user, password);
                transport.sendMessage(msg, msg.getAllRecipients());
                transport.close();
                out.println("邮件已顺利发送至:"+to);

	}
    	catch (MessagingException mex)
    	{
		mex.printStackTrace();
	}
%>

</body>
</html>

⌨️ 快捷键说明

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