Java发送邮件

简易发送邮件实例(Java版)

一,介绍:
   >最近学习了jsp和Servlet,正好有例子讲解,于是动手做了尝试,现在记录笔记。
   >这是基于javaMail的Java邮件发送,使用activation.jar和mail.jar两个jar包。
   >实现通过网易126邮箱服务器stmp.126.com使用自己的账号和密码登陆验证。获取          session后进行邮件的发送。



二,环境:
   >JDK,Tomcat,IDE(myeclipse),还有两个jar包需要自己配置。
>jar包下载:

三,代码:
SendEmailServlet:
package web;

import java.io.IOException;
import java.io.PrintWriter;

import java.util.Properties;

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




/**
 * 
 * @author XHS_12302 
 * @version  1.0 
 * @date  2017_08_17 
 */
@SuppressWarnings("serial")
public class SendEmailServlet extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
        String result;
        String pwd="********";//这个是邮箱密码,如果有授权码,则填写授权码
        String to="xhsgg12302@outlook.com";
        String from="xhsgg12302@126.com";
        Properties props = new Properties();                    // 参数配置
        props.setProperty("mail.transport.protocol", "smtp");   // 使用的协议(JavaMail规范要求)
        props.setProperty("mail.smtp.host", "smtp.126.com");   // 发件人的邮箱的 SMTP 服务器地址
        props.setProperty("mail.smtp.auth", "true");
        /*props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.socketFactory.port", "465");*/
        //根据配置创建会话对象,用于和邮件服务区.
        Session mailsn=Session.getDefaultInstance(props);
         //使Debug模式为真,可以查看交互消息。
        mailsn.setDebug(true); 
        try {
        	MimeMessage message=new MimeMessage(mailsn);
        	//设置消息
			message.setFrom(new InternetAddress(from));
			message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
			message.setSubject("XHS_12302!");
			message.setText("HelloWorld,this is a jsp Email!");
			message.saveChanges(); //    
		    Transport transport = mailsn.getTransport("smtp");
		    transport.connect("smtp.126.com", from, pwd);
		    transport.sendMessage(message, message.getAllRecipients());
		    transport.close();
			result="Sent message successfully......";
		} catch (MessagingException e) {
			// TODO: handle exception
			e.printStackTrace();
			result="Error:unable to send message...";
		}
        
        response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print(result);
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

}

四,截图:











联系邮箱:xhsgg12302@outlook.com

                                                                                                                                                                                                                                                                                                                                                               2017_08_17


posted @ 2017-08-17 19:45  Obelia  阅读(233)  评论(0编辑  收藏  举报