📄 sendmail.java
字号:
package mailservlets;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;/** * Title: 收发邮件 * Description: 这是一个使用Servlet开发的收发邮件应用程序 * Copyright: Copyright (c) 2001 * Company: * @author * @version 1.0 */public class sendMail extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=GBK"; private static final String POP3_HOSTNAME="pop3host"; private static final String SMTP_HOSTNAME="smtphost"; private static final String USERNAME="username"; private static final String PASSWORD="password"; private String usern=""; private String pwd=""; /**Initialize global variables*/ public void init() throws ServletException { } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<HTML><HEAD><TITLE>发邮件</TITLE>"); out.println("<META content=\"text/html; charset=gb2312\" http-equiv=Content-Type>"); out.println("<LINK href=\"/MailWebApp/css.css\" rel=stylesheet type=text/css>"); out.println("</HEAD>"); out.println("<BODY bgColor=#ffffff>"); out.println("<TABLE border=0 cellPadding=0 cellSpacing=0 class=tab03 height=\"100%\"width=\"100%\">"); out.println("<TBODY>"); out.println("<TR vAlign=top>"); out.println("<TD class=tab03>"); out.println("<FORM action=\"/MailWebApp/sendmail\" method=post name=sendmail ENCTYPE=\"application/x-www-form-urlencoded\">"); out.println("<TABLE border=0 cellPadding=1 cellSpacing=1 class=content width=\"70%\">"); out.println("<TBODY>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">发件人:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT class=tab03 maxLength=300 name=from size=60 > </TD></TR>"); out.println("<TR>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">收件人:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT class=tab03 maxLength=300 name=to size=60 > </TD></TR>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">主 题:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT class=tab03 name=subject size=60></TD></TR>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">抄 送:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT class=tab03 name=cc size=60>"); out.println("</TD></TR>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">暗 送:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT class=tab03 name=bcc size=60></TD></TR>"); out.println("<TR>"); out.println("<TD align=middle class=tab03 width=\"17%\">附 件:</TD>"); out.println("<TD class=tab03 width=\"83%\"><INPUT type=file class=tab03 name=attachment size=30 > </TD></TR>"); out.println("<TR>"); out.println("<TD class=tab03 colSpan=5 noWrap><INPUT CHECKED name=ifsendauthor type=checkbox value=y> 使用发件认证</TD></TR>"); out.println("<TR>"); out.println("<TD colSpan=2 noWrap><INPUT TYPE=\"SUBMIT\" VALUE=\"发送\"><INPUT TYPE=\"RESET\" NAME=\"Reset\">"); out.println("</TD></TR></TBODY></TABLE>"); out.println("<TABLE class=normal-font width=\"80%\">"); out.println("<TBODY>"); out.println("<TR>"); out.println("<DIV style=\"HEIGHT: 240px; LEFT: 0px; POSITION: relative; TOP: 0px\""); out.println("width=\"100%\"><TEXTAREA cols=85 id=lettercontent name=text rows=15 wrap=physical></TEXTAREA>"); out.println("</DIV></TD></TR>"); out.println("<TR>"); out.println("<TD colSpan=2 noWrap><INPUT TYPE=\"SUBMIT\" VALUE=\"发送\"><INPUT TYPE=\"RESET\" NAME=\"Reset\"> </TD></TR></TBODY></TABLE>"); out.println("</FORM></TD></TR>"); out.println("</TBODY></TABLE></BODY></HTML>"); } /**Process the HTTP Post request*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>发邮件</title>"); out.println("<LINK href=\"/MailWebApp/css.css\" rel=stylesheet type=text/css></head>"); out.println("<body>"); try{ HttpSession session=request.getSession(); String fromAddr=request.getParameter("from"); String toAddr=request.getParameter("to"); String subject=request.getParameter("subject"); System.out.println(subject); subject=new String((subject.getBytes("iso8859-1"))) ; System.out.println(subject); String cc=request.getParameter("cc"); String bcc=request.getParameter("bcc"); String text=request.getParameter("text"); text=new String((text.getBytes("iso8859-1"))) ; String isSendAuthor=request.getParameter("ifsendauthor"); String attchName=request.getParameter("attachment"); String smtpServer=(String)session.getValue(SMTP_HOSTNAME); String UserName=(String)session.getValue(USERNAME); String Password=(String)session.getValue(PASSWORD); Properties props=System.getProperties(); SmtpAuthenticator sa=null; if(isSendAuthor!=null) { props.put("mail.smtp.auth","true"); sa=new SmtpAuthenticator(UserName,Password); } props.put("mail.smtp.host",smtpServer); Session sess=Session.getInstance(props,sa); MimeMessage msg=new MimeMessage(sess); msg.setFrom(new InternetAddress(fromAddr)) ; msg.setRecipients(Message.RecipientType.TO ,InternetAddress.parse(toAddr,false)); if(cc!=null){ if(!cc.trim().equals("")) msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc,false)); } if(bcc!=null){ if(!bcc.trim().equals("")) msg.setRecipients(Message.RecipientType.BCC ,InternetAddress.parse(bcc,false)); } if(!subject.trim().equals("")) msg.setSubject(subject); if(!attchName.trim().equals("")){ attchName=new String((attchName.getBytes("iso8859-1"))) ; MimeBodyPart mbpText=new MimeBodyPart(); mbpText.setText((text==null)?"":text) ; MimeBodyPart mbpFile=new MimeBodyPart(); mbpFile.setDescription("ATTCHEMENT"); FileDataSource fds=new FileDataSource(new File(attchName)); mbpFile.setDataHandler(new DataHandler(fds)) ; mbpFile.setFileName((new File(attchName)).getName()); MimeMultipart mp=new MimeMultipart(); mp.addBodyPart(mbpText,0); mp.addBodyPart(mbpFile,1); msg.setContent(mp,"multipart/mixed"); }else{ msg.setText(text); } sess.setDebug(true); Transport.send(msg); out.println("<p class=tab03>邮件发送成功</p>"); }catch(Exception e){ System.out.println(e); out.println("<p class=tab03>邮件发送失败</p>"); } out.println("<FORM ACTION=\"/MailWebApp/loginservlet\" METHOD=\"POST\""); out.println("<P align=left><INPUT TYPE=\"SUBMIT\" VALUE=\"返回\"></P>"); out.println("</body></html>"); } /**Clean up resources*/ public void destroy() { }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -