当前位置:  编程技术>java/j2ee

java 发送邮件的实例代码(可移植)

    来源: 互联网  发布时间:2014-10-22

    本文导语:  以一个web项目为例,代码是可以移植的 首先要导入mail.jar包,然后创建自己的类 1:HTMLSender类 代码如下:package com.txq.mail; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.NoSuchProviderExceptio...

以一个web项目为例,代码是可以移植的

首先要导入mail.jar包,然后创建自己的类

1:HTMLSender类

代码如下:

package com.txq.mail;

 import java.util.Properties;

 import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.NoSuchProviderException;
 import javax.mail.Session;
 import javax.mail.Transport;
 import javax.mail.internet.AddressException;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 import javax.mail.internet.MimeUtility;

 /**
  *
  * @author Administrator
  *
  */
 public class HTMLSender {
     private MimeMessage message;
     private Properties props;
     private Session session;
     private String name = "";
     private String password = "";

     public HTMLSender(String host,String name,String password)
     {
         this.name = name;
         this.password = password;
         props = System.getProperties();

         props.put("mail.smtp.host", host);
         props.put("mail.smtp.auth","true");
         MyAuthenticator auth = new MyAuthenticator(name,password);
         session = Session.getDefaultInstance(props,auth);

         message = new MimeMessage(session);
         new MimeMultipart();
     }

     public void setFrom(String from)
     {
         try
         {
             message.setFrom(new InternetAddress(from));
         }
         catch (AddressException e)
         {
             e.printStackTrace();
         }
         catch (MessagingException e)
         {
             e.printStackTrace();
         }
     }

     public void setTo(String to)
     {
         try
         {
             message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
         }
         catch(AddressException e)
         {
             e.printStackTrace();
         }
         catch(MessagingException e)
         {
             e.printStackTrace();
         }
     }

     public void setSubject(String subject)
     {
         try
         {
             message.setSubject(subject);
         }
         catch(Exception e)
         {
             e.printStackTrace();
         }
     }

     public void setContect(String content)
     {
         try
         {
             message.setContent(content,"text/html;charset=utf-8");
         }
         catch(Exception e)
         {
             e.printStackTrace();
         }
     }

     public boolean send()
     {
         try
         {
             Transport transport = session.getTransport("smtp");
             transport.connect((String)props.get("mail.smtp.host"),name,password);
             transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
             transport.close();
             return true;
         }
         catch(NoSuchProviderException e)
         {
             e.printStackTrace();
             return false;
         }
         catch(MessagingException e)
         {
             e.printStackTrace();
             return false;
         }
     }
 }

2:MyAuthenticator类

代码如下:

package com.txq.mail;

 import javax.mail.Authenticator;
 import javax.mail.PasswordAuthentication;

 
 public class MyAuthenticator extends Authenticator{
     String name;
     String password;
     public MyAuthenticator(String name,String pasword)
     {
         this.name = name;
         this.password = pasword;
         getPasswordAuthentication();
     }
     protected PasswordAuthentication getPasswordAuthentication()
     {
         return new PasswordAuthentication(name,password);
     }
 }

3:MailAction类

代码如下:

package com.txq.action;

 import java.io.PrintWriter;

 import com.opensymphony.xwork2.ActionSupport;
 import com.txq.mail.HTMLSender;

 public class MailAction extends ActionSupport {
     private String email;
     public String sendEmail(){
         //代理主机-新浪
         String host = "smtp.sina.cn";
         //帐号-新浪帐号
         String name = "followmusic";
         //密码-新浪密码
         String password = "followmusic";
         //创建发送邮件对象
         HTMLSender mail = new HTMLSender(host,name,password);
         //发邮帐号
         mail.setFrom("followmusic@sina.cn");
         //收邮帐号
         mail.setTo("youxiangzhanghe@qq.com");
         //邮件主题
         mail.setSubject("淘兴趣");
         //邮件内容
         mail.setContect("你的好友邀请你来淘兴趣~");

         if(mail.send())
         {
             return SUCCESS;
         }
         else
         {
             return "error";
         }
     }
     public String getEmail() {
         return email;
     }
     public void setEmail(String email) {
         this.email = email;
     }
 }

    
 
 

您可能感兴趣的文章:

  • Java数据库移植框架 Flyway
  • LINQ的Java移植版本 linq4j
  • 把java产品移植到mips体系下的的Linux上,请教高手指教。
  • JBuilder7开发java应用程序,其移植性如何?
  • 我的java程序要進行平台移植,原來的DLL庫還能用嗎?
  • JBuilder6在win98下作的java程序可以直接移植到linux下吗?
  • 小问题:Access--->SQL Server移植后,java程序不正常工作?
  • java实现数据库数据移植问题?来者有分,有建议者分多,无建议者有参与分!
  • java Servlet获取和设置cookie实例代码
  • 万般火急!关于java打印,已经得到printerJob实例,那么怎么通过它得到Pageable实例?
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗?
  • <java技术手册>与<java实例技术手册>这两本书怎么样?
  • 可以有其他两个类的实例同时调用一个java实例的两个方法吗? iis7站长之家
  • 寻求java加密算法及实例
  • java web start实例代码COPY不了,怎么办?
  • 请问哪里有《java实例技术手册》的电子书下载?100分赠送!
  • 请教:JAVA中说什么类的实例,那是怎么样的一个概念呢?
  • java实现大数加法(BigDecimal)的实例代码
  • Java究竟能干些什么呢?清高手们列举一些实例出来,跟帖有分.
  • java HashMap的keyset实例
  • java获取当前日期使用实例
  • java之super关键字用法实例解析
  • Java调用DOS实现定时关机的实例
  • java结束进程的实例代码
  • 急!大家谁有类似visio的java实例或代码?
  • java 如何获取对象实例的大小
  • 高分火速求解,请在线朋友回答:java自定义类怎样生成实例数组?( className[] N=new className[X];怎么不行?)
  • 刚学java想试编一个文本编辑器,各位能不能给推荐一些较好的参考程序或实例
  • Java位运算和逻辑运算的区别实例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java使用短信设备发送sms短信的示例(java发送短信)
  • 哪位有java通信方面的经验,谈谈如何利用java编写服务器程序来接受unix主机发送的数据信息?
  • vc通过socket发送数据给java的问题
  • 如何在java 客户端使用http将cookies 信息发送给服务端.
  • ******JAVA手机或PDA发送,接收短消息******
  • java ServletResponse 发送mime数据问题(解决了马上结帐!)
  • Java发送短信包 LemonSMS
  • 100分紧急求助:java程序在linux下不能发送邮件,windows下正常。
  • java能做短信息发送软件吗?接口是什么?谁能明确说说这方面知识
  • java发送mail,smtp的用户名密码问题
  • 终于可以用JAVA支持手机短信发送、接收了,高兴散粉!!!
  • 小弟初入java这一行,很想看看已经编好的源程序,愿意指教的请发送到samgundam@sina.com!谢谢
  • java发送邮件的问题!
  • java发送get请求和post请求示例
  • java网络编程中向指定URL发送GET POST请求示例
  • java发送url请求获取返回值的二种方法
  • java发送邮件的具体实现
  • Java邮件发送程序(可以同时发给多个地址、可以带附件)
  • java使用httpclient发送post请求示例
  • Java mail 发送邮件的具体实例
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3