java 发送邮件 email相关操作代码测试,生成复杂格式邮件,发送邮件相关操作



效果图:


相关代码:

test1

  1. packagecom.mail;
  2. importjava.util.Properties;
  3. importjavax.mail.Address;
  4. importjavax.mail.Message;
  5. importjavax.mail.Session;
  6. importjavax.mail.Transport;
  7. importjavax.mail.internet.InternetAddress;
  8. importjavax.mail.internet.MimeMessage;
  9. /**
  10. *com.mail.reference下面的是在网上找的,还没来得级看
  11. *Test是本人写的,并都测试成功发送了的邮箱和密码换成你自已的,
  12. *可能会遇到一个问题,就是要把你自已myeclipse的javaee.jar文件中的mail包给删掉
  13. *他们会冲突,自已到网上找一个具体的操作吧!
  14. *@authorliangrui
  15. *
  16. */
  17. publicclassTest1{
  18. publicstaticvoidmain(String[]args)throwsException{
  19. System.out.println("hello....");
  20. Propertiesperps=newProperties();
  21. //认证
  22. perps.setProperty("mail.smtp.auth","true");
  23. //协议
  24. perps.setProperty("mail.transport.protocol","smtp");
  25. Sessionsession=Session.getInstance(perps);
  26. Messagemes=newMimeMessage(session);
  27. //收件内容、人
  28. mes.setText("helloworldddddddddddddddddd");
  29. //设置发件人地址
  30. mes.setFrom(newInternetAddress("liangrui_1988@126.com"));
  31. //发件信息
  32. Transporttransport=session.getTransport();
  33. transport.connect("smtp.126.com",25,"liangrui_1988","******");
  34. //收件人
  35. transport.sendMessage(mes,
  36. newAddress[]{newInternetAddress("liangrui_1988@sina.com")});
  37. transport.close();
  38. System.out.println("-----");
  39. }
  40. }

test2


  1. packagecom.mail;
  2. importjava.util.Properties;
  3. importjavax.mail.Authenticator;
  4. importjavax.mail.Message;
  5. importjavax.mail.MessagingException;
  6. importjavax.mail.PasswordAuthentication;
  7. importjavax.mail.Session;
  8. importjavax.mail.Transport;
  9. importjavax.mail.internet.InternetAddress;
  10. importjavax.mail.internet.MimeMessage;
  11. importjavax.mail.internet.MimeMessage.RecipientType;
  12. publicclassTest2{
  13. /**
  14. *@paramargs
  15. *@throwsMessagingException
  16. */
  17. publicstaticvoidmain(String[]args)throwsException{
  18. //邮件Properties设置============================================
  19. Propertiespro=newProperties();
  20. //认证
  21. pro.setProperty("mail.smtp.auth","true");
  22. //协议
  23. pro.setProperty("mail.transport.protocol","smtp");
  24. //主机指定服务器端口默认
  25. pro.setProperty("mail.host","smtp.sina.com");
  26. //邮件Session设置============================================
  27. Sessionsession=Session.getInstance(pro,
  28. newAuthenticator(){
  29. protectedPasswordAuthenticationgetPasswordAuthentication(){
  30. //用户名密码
  31. returnnewPasswordAuthentication("liangrui_1988","******");
  32. }
  33. });
  34. //邮件信息设置============================================
  35. Messagems=newMimeMessage(session);
  36. //地址发件人
  37. ms.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  38. //主题
  39. ms.setSubject("你好吗!这是邮件主题");
  40. //地址收件人
  41. ms.setRecipients(RecipientType.TO,
  42. InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sohu.com,liangrui_1988@sohu.com"));
  43. //内容
  44. ms.setContent("<spanstyle='color:red'>文本内容呆呆呆呵呵</span>","text/html;charset=gbk");
  45. //发射=================================
  46. Transport.send(ms);
  47. System.out.println("okkk--------------");
  48. }
  49. }

test2222demo
  1. packagecom.mail;
  2. importjava.io.FileInputStream;
  3. importjava.util.Properties;
  4. importjavax.mail.Authenticator;
  5. importjavax.mail.Message;
  6. importjavax.mail.MessagingException;
  7. importjavax.mail.PasswordAuthentication;
  8. importjavax.mail.Session;
  9. importjavax.mail.Transport;
  10. importjavax.mail.internet.InternetAddress;
  11. importjavax.mail.internet.MimeMessage;
  12. importjavax.mail.internet.MimeMessage.RecipientType;
  13. publicclassTest2Demo{
  14. /**
  15. *@paramargs
  16. *@throwsMessagingException
  17. */
  18. publicstaticvoidmain(String[]args)throwsException{
  19. //邮件Properties设置============================================
  20. Propertiespro=newProperties();
  21. //认证
  22. pro.setProperty("mail.smtp.auth","true");
  23. //协议
  24. pro.setProperty("mail.transport.protocol","smtp");
  25. //主机指定服务器端口默认
  26. pro.setProperty("mail.host","smtp.sina.com");
  27. //邮件Session设置============================================
  28. Sessionsession=Session.getInstance(pro,
  29. newAuthenticator(){
  30. protectedPasswordAuthenticationgetPasswordAuthentication(){
  31. //用户名密码
  32. returnnewPasswordAuthentication("liangrui_1988","******");
  33. }
  34. });
  35. //邮件信息设置============================================
  36. /*Messagems=newMimeMessage(session);
  37. //地址发件人
  38. ms.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  39. //主题
  40. ms.setSubject("你好吗!这是邮件主题");
  41. //地址收件人
  42. ms.setRecipients(RecipientType.TO,
  43. InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sina.com,liangrui_1988@sohu.com"));
  44. //内容
  45. ms.setContent("<spanstyle='color:red'>文本内容呆呆呆呵呵</span>","text/html;charset=gbk");
  46. //发射=================================
  47. Transport.send(ms);*/
  48. //加载生成好的邮件Test3并发送
  49. Messageme=newMimeMessage(session,newFileInputStream("F:/juxunDocument/email/demo3.eml"));
  50. Transport.send(me,InternetAddress.parse("liangrui_1988@sohu.com"));
  51. System.out.println("okkk--------------");
  52. }
  53. }

test3
  1. packagecom.mail;
  2. importjava.io.FileOutputStream;
  3. importjava.io.OutputStream;
  4. importjava.util.Properties;
  5. importjavax.activation.DataHandler;
  6. importjavax.activation.DataSource;
  7. importjavax.activation.FileDataSource;
  8. importjavax.mail.Address;
  9. importjavax.mail.BodyPart;
  10. importjavax.mail.MessagingException;
  11. importjavax.mail.Session;
  12. importjavax.mail.Message.RecipientType;
  13. importjavax.mail.internet.InternetAddress;
  14. importjavax.mail.internet.MimeBodyPart;
  15. importjavax.mail.internet.MimeMessage;
  16. importjavax.mail.internet.MimeMultipart;
  17. importjavax.mail.internet.MimeUtility;
  18. importcom.sun.mail.util.MimeUtil;
  19. publicclassTest3{
  20. publicstaticvoidmain(String[]args)throwsException{
  21. Sessionsession=Session.getInstance(newProperties());
  22. MimeMessagemessage=newMimeMessage(session);
  23. //发件人指定别名
  24. message.setFrom(newInternetAddress("\""+MimeUtility.encodeText("国务院")+"\"<liangrui_1988@sina.com>"));
  25. message.setSubject("subjectHelloworld");//标题
  26. //如果收到该邮件点击回复时,地址是这个邮箱地址而不是发件人
  27. message.setReplyTo(newAddress[]{newInternetAddress("liangrui_1988@sohu.com")});//回复
  28. //收件人
  29. message.setRecipients(RecipientType.TO,
  30. //把字符串转为数组//转码
  31. InternetAddress.parse(
  32. MimeUtility.encodeText("刘备")+"<liangrui_1988@126.com>,"
  33. +MimeUtility.encodeText("关羽")+"<liangrui_1988@suho.com>"));
  34. //复杂格试文件内容多部件的/混合
  35. MimeMultipartmutimart=newMimeMultipart("mixed");
  36. //文本
  37. message.setContent(mutimart);
  38. //多用途互联网邮件扩展mime体部分
  39. MimeBodyPartcontent=newMimeBodyPart();
  40. MimeBodyPartattach1=newMimeBodyPart();
  41. MimeBodyPartattach2=newMimeBodyPart();
  42. //添加文本和附近
  43. mutimart.addBodyPart(content);
  44. mutimart.addBodyPart(attach1);
  45. mutimart.addBodyPart(attach2);
  46. //附近1
  47. DataSourceds=newFileDataSource("E:\\1y2\\context.xml");
  48. DataHandlerdh1=newDataHandler(ds);
  49. attach1.setDataHandler(dh1);
  50. attach1.setFileName(MimeUtility.encodeText("中文context.xml"));//附件名称
  51. //附近2
  52. DataSourceds2=newFileDataSource("F:\\ipho\\IMG_0266.JPG");
  53. DataHandlerdh2=newDataHandler(ds2);
  54. attach2.setDataHandler(dh2);
  55. attach2.setFileName(
  56. MimeUtility.encodeText("图片img_0266.jpg"));//附件名称转为中文
  57. //文本是一个复杂体
  58. MimeMultipartbodyMultipart=newMimeMultipart("related");
  59. content.setContent(bodyMultipart);
  60. //构造体有两个部分组成图片和文本
  61. MimeBodyPartthmlPart=newMimeBodyPart();
  62. MimeBodyPartimgPart=newMimeBodyPart();
  63. bodyMultipart.addBodyPart(thmlPart);//html
  64. bodyMultipart.addBodyPart(imgPart);//img
  65. //图片数据来源
  66. DataSourcedsImg=newFileDataSource("F:/ipho/IMG_0332.JPG");
  67. DataHandlerdhImg=newDataHandler(dsImg);
  68. imgPart.setDataHandler(dhImg);
  69. //这个图片代表的位置
  70. imgPart.setHeader("Content-location","http://www.aaa.com/img_0332.jpg");
  71. //文本
  72. thmlPart.setContent("<h1>你好呀</h1><spanstyle=color='red'>yesterdayoncemore</sapn>"+
  73. "<imgsrc='http://www.aaa.com/img_0332.jpg'/>",
  74. "text/html;charset=gbk");
  75. //生成
  76. message.saveChanges();
  77. //保存在本地测试输出到本地
  78. OutputStreamos=newFileOutputStream("F:\\juxunDocument\\email\\demo3.eml");
  79. message.writeTo(os);
  80. os.close();
  81. }
  82. }

servelt
  1. packagecom.mail.web.servlet;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjavax.mail.Message;
  5. importjavax.mail.Session;
  6. importjavax.mail.Transport;
  7. importjavax.mail.internet.InternetAddress;
  8. importjavax.mail.internet.MimeMessage;
  9. importjavax.naming.Context;
  10. importjavax.naming.InitialContext;
  11. importjavax.servlet.ServletException;
  12. importjavax.servlet.http.HttpServlet;
  13. importjavax.servlet.http.HttpServletRequest;
  14. importjavax.servlet.http.HttpServletResponse;
  15. importcom.mail.Test2Demo;
  16. publicclassSendMailextendsHttpServlet{
  17. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  18. throwsServletException,IOException{
  19. doPost(request,response);
  20. }
  21. publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
  22. throwsServletException,IOException{
  23. response.setContentType("text/html");
  24. PrintWriterout=response.getWriter();
  25. try{
  26. //调用生成好的Test2Demo.jar类发送邮件方式一
  27. //Test2Demo.main(newString[]{});
  28. /**
  29. *JNDI配制方式发送邮件方式二
  30. *META-INF文件夹中配context.xml信息
  31. *在web.xml配置相关信息
  32. *发布到tomcat时
  33. *需要把lib的mail.jar拷贝到Tomcat的lib下
  34. *并且删掉项目中的mail.jar
  35. */
  36. ContextinitCtx=newInitialContext();
  37. ContextenvCtx=(Context)initCtx.lookup("java:comp/env");
  38. Sessionsession=(Session)envCtx.lookup("mail/hello");
  39. Messagemessage=newMimeMessage(session);
  40. //发件人
  41. message.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  42. //收件人地址
  43. InternetAddressto[]=newInternetAddress[1];
  44. to[0]=newInternetAddress("liangrui_1988@sohu.com");
  45. message.setRecipients(Message.RecipientType.TO,to);
  46. message.setSubject("测试主题");//主题
  47. message.setText("testemailok---");
  48. //Transport
  49. Transporttran=session.getTransport();
  50. tran.connect("smtp.sina.com","liangrui_1988","*****");//获得连接
  51. tran.sendMessage(message,to);
  52. tran.close();
  53. out.print("ok----------------");
  54. }catch(Exceptione){
  55. e.printStackTrace(out);
  56. }
  57. out.flush();
  58. out.close();
  59. }
  60. }

META-INF

context.xml

  1. <Context>
  2. <Resourcename="mail/hello"auth="Container"
  3. type="javax.mail.Session"
  4. mail.smtp.host="smtp.sina.com"
  5. mail.smtp.auth="true"
  6. mail.transport.protocol="smtp"
  7. />
  8. </Context>


效果图:


相关代码:

test1

  1. packagecom.mail;
  2. importjava.util.Properties;
  3. importjavax.mail.Address;
  4. importjavax.mail.Message;
  5. importjavax.mail.Session;
  6. importjavax.mail.Transport;
  7. importjavax.mail.internet.InternetAddress;
  8. importjavax.mail.internet.MimeMessage;
  9. /**
  10. *com.mail.reference下面的是在网上找的,还没来得级看
  11. *Test是本人写的,并都测试成功发送了的邮箱和密码换成你自已的,
  12. *可能会遇到一个问题,就是要把你自已myeclipse的javaee.jar文件中的mail包给删掉
  13. *他们会冲突,自已到网上找一个具体的操作吧!
  14. *@authorliangrui
  15. *
  16. */
  17. publicclassTest1{
  18. publicstaticvoidmain(String[]args)throwsException{
  19. System.out.println("hello....");
  20. Propertiesperps=newProperties();
  21. //认证
  22. perps.setProperty("mail.smtp.auth","true");
  23. //协议
  24. perps.setProperty("mail.transport.protocol","smtp");
  25. Sessionsession=Session.getInstance(perps);
  26. Messagemes=newMimeMessage(session);
  27. //收件内容、人
  28. mes.setText("helloworldddddddddddddddddd");
  29. //设置发件人地址
  30. mes.setFrom(newInternetAddress("liangrui_1988@126.com"));
  31. //发件信息
  32. Transporttransport=session.getTransport();
  33. transport.connect("smtp.126.com",25,"liangrui_1988","******");
  34. //收件人
  35. transport.sendMessage(mes,
  36. newAddress[]{newInternetAddress("liangrui_1988@sina.com")});
  37. transport.close();
  38. System.out.println("-----");
  39. }
  40. }

test2


  1. packagecom.mail;
  2. importjava.util.Properties;
  3. importjavax.mail.Authenticator;
  4. importjavax.mail.Message;
  5. importjavax.mail.MessagingException;
  6. importjavax.mail.PasswordAuthentication;
  7. importjavax.mail.Session;
  8. importjavax.mail.Transport;
  9. importjavax.mail.internet.InternetAddress;
  10. importjavax.mail.internet.MimeMessage;
  11. importjavax.mail.internet.MimeMessage.RecipientType;
  12. publicclassTest2{
  13. /**
  14. *@paramargs
  15. *@throwsMessagingException
  16. */
  17. publicstaticvoidmain(String[]args)throwsException{
  18. //邮件Properties设置============================================
  19. Propertiespro=newProperties();
  20. //认证
  21. pro.setProperty("mail.smtp.auth","true");
  22. //协议
  23. pro.setProperty("mail.transport.protocol","smtp");
  24. //主机指定服务器端口默认
  25. pro.setProperty("mail.host","smtp.sina.com");
  26. //邮件Session设置============================================
  27. Sessionsession=Session.getInstance(pro,
  28. newAuthenticator(){
  29. protectedPasswordAuthenticationgetPasswordAuthentication(){
  30. //用户名密码
  31. returnnewPasswordAuthentication("liangrui_1988","******");
  32. }
  33. });
  34. //邮件信息设置============================================
  35. Messagems=newMimeMessage(session);
  36. //地址发件人
  37. ms.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  38. //主题
  39. ms.setSubject("你好吗!这是邮件主题");
  40. //地址收件人
  41. ms.setRecipients(RecipientType.TO,
  42. InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sohu.com,liangrui_1988@sohu.com"));
  43. //内容
  44. ms.setContent("<spanstyle='color:red'>文本内容呆呆呆呵呵</span>","text/html;charset=gbk");
  45. //发射=================================
  46. Transport.send(ms);
  47. System.out.println("okkk--------------");
  48. }
  49. }

test2222demo
  1. packagecom.mail;
  2. importjava.io.FileInputStream;
  3. importjava.util.Properties;
  4. importjavax.mail.Authenticator;
  5. importjavax.mail.Message;
  6. importjavax.mail.MessagingException;
  7. importjavax.mail.PasswordAuthentication;
  8. importjavax.mail.Session;
  9. importjavax.mail.Transport;
  10. importjavax.mail.internet.InternetAddress;
  11. importjavax.mail.internet.MimeMessage;
  12. importjavax.mail.internet.MimeMessage.RecipientType;
  13. publicclassTest2Demo{
  14. /**
  15. *@paramargs
  16. *@throwsMessagingException
  17. */
  18. publicstaticvoidmain(String[]args)throwsException{
  19. //邮件Properties设置============================================
  20. Propertiespro=newProperties();
  21. //认证
  22. pro.setProperty("mail.smtp.auth","true");
  23. //协议
  24. pro.setProperty("mail.transport.protocol","smtp");
  25. //主机指定服务器端口默认
  26. pro.setProperty("mail.host","smtp.sina.com");
  27. //邮件Session设置============================================
  28. Sessionsession=Session.getInstance(pro,
  29. newAuthenticator(){
  30. protectedPasswordAuthenticationgetPasswordAuthentication(){
  31. //用户名密码
  32. returnnewPasswordAuthentication("liangrui_1988","******");
  33. }
  34. });
  35. //邮件信息设置============================================
  36. /*Messagems=newMimeMessage(session);
  37. //地址发件人
  38. ms.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  39. //主题
  40. ms.setSubject("你好吗!这是邮件主题");
  41. //地址收件人
  42. ms.setRecipients(RecipientType.TO,
  43. InternetAddress.parse("liangrui_1988@126.com,liangrui_1988@sina.com,liangrui_1988@sohu.com"));
  44. //内容
  45. ms.setContent("<spanstyle='color:red'>文本内容呆呆呆呵呵</span>","text/html;charset=gbk");
  46. //发射=================================
  47. Transport.send(ms);*/
  48. //加载生成好的邮件Test3并发送
  49. Messageme=newMimeMessage(session,newFileInputStream("F:/juxunDocument/email/demo3.eml"));
  50. Transport.send(me,InternetAddress.parse("liangrui_1988@sohu.com"));
  51. System.out.println("okkk--------------");
  52. }
  53. }

test3
  1. packagecom.mail;
  2. importjava.io.FileOutputStream;
  3. importjava.io.OutputStream;
  4. importjava.util.Properties;
  5. importjavax.activation.DataHandler;
  6. importjavax.activation.DataSource;
  7. importjavax.activation.FileDataSource;
  8. importjavax.mail.Address;
  9. importjavax.mail.BodyPart;
  10. importjavax.mail.MessagingException;
  11. importjavax.mail.Session;
  12. importjavax.mail.Message.RecipientType;
  13. importjavax.mail.internet.InternetAddress;
  14. importjavax.mail.internet.MimeBodyPart;
  15. importjavax.mail.internet.MimeMessage;
  16. importjavax.mail.internet.MimeMultipart;
  17. importjavax.mail.internet.MimeUtility;
  18. importcom.sun.mail.util.MimeUtil;
  19. publicclassTest3{
  20. publicstaticvoidmain(String[]args)throwsException{
  21. Sessionsession=Session.getInstance(newProperties());
  22. MimeMessagemessage=newMimeMessage(session);
  23. //发件人指定别名
  24. message.setFrom(newInternetAddress("\""+MimeUtility.encodeText("国务院")+"\"<liangrui_1988@sina.com>"));
  25. message.setSubject("subjectHelloworld");//标题
  26. //如果收到该邮件点击回复时,地址是这个邮箱地址而不是发件人
  27. message.setReplyTo(newAddress[]{newInternetAddress("liangrui_1988@sohu.com")});//回复
  28. //收件人
  29. message.setRecipients(RecipientType.TO,
  30. //把字符串转为数组//转码
  31. InternetAddress.parse(
  32. MimeUtility.encodeText("刘备")+"<liangrui_1988@126.com>,"
  33. +MimeUtility.encodeText("关羽")+"<liangrui_1988@suho.com>"));
  34. //复杂格试文件内容多部件的/混合
  35. MimeMultipartmutimart=newMimeMultipart("mixed");
  36. //文本
  37. message.setContent(mutimart);
  38. //多用途互联网邮件扩展mime体部分
  39. MimeBodyPartcontent=newMimeBodyPart();
  40. MimeBodyPartattach1=newMimeBodyPart();
  41. MimeBodyPartattach2=newMimeBodyPart();
  42. //添加文本和附近
  43. mutimart.addBodyPart(content);
  44. mutimart.addBodyPart(attach1);
  45. mutimart.addBodyPart(attach2);
  46. //附近1
  47. DataSourceds=newFileDataSource("E:\\1y2\\context.xml");
  48. DataHandlerdh1=newDataHandler(ds);
  49. attach1.setDataHandler(dh1);
  50. attach1.setFileName(MimeUtility.encodeText("中文context.xml"));//附件名称
  51. //附近2
  52. DataSourceds2=newFileDataSource("F:\\ipho\\IMG_0266.JPG");
  53. DataHandlerdh2=newDataHandler(ds2);
  54. attach2.setDataHandler(dh2);
  55. attach2.setFileName(
  56. MimeUtility.encodeText("图片img_0266.jpg"));//附件名称转为中文
  57. //文本是一个复杂体
  58. MimeMultipartbodyMultipart=newMimeMultipart("related");
  59. content.setContent(bodyMultipart);
  60. //构造体有两个部分组成图片和文本
  61. MimeBodyPartthmlPart=newMimeBodyPart();
  62. MimeBodyPartimgPart=newMimeBodyPart();
  63. bodyMultipart.addBodyPart(thmlPart);//html
  64. bodyMultipart.addBodyPart(imgPart);//img
  65. //图片数据来源
  66. DataSourcedsImg=newFileDataSource("F:/ipho/IMG_0332.JPG");
  67. DataHandlerdhImg=newDataHandler(dsImg);
  68. imgPart.setDataHandler(dhImg);
  69. //这个图片代表的位置
  70. imgPart.setHeader("Content-location","http://www.aaa.com/img_0332.jpg");
  71. //文本
  72. thmlPart.setContent("<h1>你好呀</h1><spanstyle=color='red'>yesterdayoncemore</sapn>"+
  73. "<imgsrc='http://www.aaa.com/img_0332.jpg'/>",
  74. "text/html;charset=gbk");
  75. //生成
  76. message.saveChanges();
  77. //保存在本地测试输出到本地
  78. OutputStreamos=newFileOutputStream("F:\\juxunDocument\\email\\demo3.eml");
  79. message.writeTo(os);
  80. os.close();
  81. }
  82. }

servelt
  1. packagecom.mail.web.servlet;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjavax.mail.Message;
  5. importjavax.mail.Session;
  6. importjavax.mail.Transport;
  7. importjavax.mail.internet.InternetAddress;
  8. importjavax.mail.internet.MimeMessage;
  9. importjavax.naming.Context;
  10. importjavax.naming.InitialContext;
  11. importjavax.servlet.ServletException;
  12. importjavax.servlet.http.HttpServlet;
  13. importjavax.servlet.http.HttpServletRequest;
  14. importjavax.servlet.http.HttpServletResponse;
  15. importcom.mail.Test2Demo;
  16. publicclassSendMailextendsHttpServlet{
  17. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  18. throwsServletException,IOException{
  19. doPost(request,response);
  20. }
  21. publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
  22. throwsServletException,IOException{
  23. response.setContentType("text/html");
  24. PrintWriterout=response.getWriter();
  25. try{
  26. //调用生成好的Test2Demo.jar类发送邮件方式一
  27. //Test2Demo.main(newString[]{});
  28. /**
  29. *JNDI配制方式发送邮件方式二
  30. *META-INF文件夹中配context.xml信息
  31. *在web.xml配置相关信息
  32. *发布到tomcat时
  33. *需要把lib的mail.jar拷贝到Tomcat的lib下
  34. *并且删掉项目中的mail.jar
  35. */
  36. ContextinitCtx=newInitialContext();
  37. ContextenvCtx=(Context)initCtx.lookup("java:comp/env");
  38. Sessionsession=(Session)envCtx.lookup("mail/hello");
  39. Messagemessage=newMimeMessage(session);
  40. //发件人
  41. message.setFrom(newInternetAddress("liangrui_1988@sina.com"));
  42. //收件人地址
  43. InternetAddressto[]=newInternetAddress[1];
  44. to[0]=newInternetAddress("liangrui_1988@sohu.com");
  45. message.setRecipients(Message.RecipientType.TO,to);
  46. message.setSubject("测试主题");//主题
  47. message.setText("testemailok---");
  48. //Transport
  49. Transporttran=session.getTransport();
  50. tran.connect("smtp.sina.com","liangrui_1988","*****");//获得连接
  51. tran.sendMessage(message,to);
  52. tran.close();
  53. out.print("ok----------------");
  54. }catch(Exceptione){
  55. e.printStackTrace(out);
  56. }
  57. out.flush();
  58. out.close();
  59. }
  60. }

META-INF

context.xml

  1. <Context>
  2. <Resourcename="mail/hello"auth="Container"
  3. type="javax.mail.Session"
  4. mail.smtp.host="smtp.sina.com"
  5. mail.smtp.auth="true"
  6. mail.transport.protocol="smtp"
  7. />
  8. </Context>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值