javamail简单实例

  1. 文章是出处:http://blog.csdn.net/ayhlay/article/details/8679904

    所需JAR包下载:javamail

    1.EmailAuthenticator.java


  2. import javax.mail.Authenticator;  
  3. import javax.mail.PasswordAuthentication;  
  4.   
  5. public class EmailAuthenticator extends Authenticator  
  6. {  
  7.     private String username;  
  8.     private String userpsd;  
  9.     public EmailAuthenticator(String username, String userpsd)  
  10.     {  
  11.         this.username = username;  
  12.         this.userpsd = userpsd;  
  13.     }  
  14.     public String getUsername()  
  15.     {  
  16.         return username;  
  17.     }  
  18.     public void setUsername(String username)  
  19.     {  
  20.         this.username = username;  
  21.     }  
  22.     public String getUserpsd()  
  23.     {  
  24.         return userpsd;  
  25.     }  
  26.     public void setUserpsd(String userpsd)  
  27.     {  
  28.         this.userpsd = userpsd;  
  29.     }  
  30.     @Override  
  31.     protected PasswordAuthentication getPasswordAuthentication()  
  32.     {  
  33.         return super.getPasswordAuthentication();  
  34.     }  
  35. }  

2.MailSender.java

[java]  view plain copy print ?
  1. import java.util.Properties;  
  2. import javax.mail.*;  
  3. import javax.mail.internet.InternetAddress;  
  4. import javax.mail.internet.MimeMessage;  
  5. public class MailSender  
  6. {  
  7.     public static void main(String[] args) throws Exception  
  8.     {  
  9.         //这是邮件服务器地址  
  10.         String smtp = "smtp.163.com";  
  11.         //用户邮箱地址,用自己的邮箱啊  
  12.         String from = "lhuang1993@163.com";  
  13.         //要发送的邮箱  
  14.         String to = "888888@qq.com";  
  15.         //构造用户身份验证验证对象,参数为用户名和口令  
  16.         EmailAuthenticator auth = new EmailAuthenticator("lhuang1993","123456");  
  17.         //获取系统属性对象  
  18.         Properties props = System.getProperties();  
  19.         //设置邮件服务器和是否身份验证  
  20.         props.put("mail.smtp.host", smtp);  
  21.         /*  如果写成这样 props.put("mail.smtp.auth", true); 
  22.          *  会爆 com.sun.mail.smtp.SMTPSendFailedException:异常 
  23.          *  应该写成 props.put("mail.smtp.auth", "true"); 
  24.          * */  
  25.         props.put("mail.smtp.auth""true");  
  26.         //获得Session对象  
  27.         Session session = Session.getInstance(props,(Authenticator)auth);  
  28.         //以session作为参数建立MimeMessage对象  
  29.         //这里Mime是支持该协议的类,用来描述邮件的内容  
  30.         MimeMessage msg = new MimeMessage(session);  
  31.         msg.setFrom(new InternetAddress(from));  
  32.         msg.addRecipient(Message.RecipientType.TO,new InternetAddress(to));  
  33.         msg.setSubject("只是测试");  
  34.         String s = "测试内容";  
  35. /*如果需要输入html文本,需改为如下配置
  36. * String s = "<h1>hello</h1><a href='http://www.sina.com.cn' target='blank'>click me please!</a>"; 
  37. * msg.setContent(s,"text/html");
  38. */
  39.         msg.setText(s);  //简单的文本输出
  40.         //设置好MimeMessage后,从Session中建立Transport对象  
  41.         //Transport对象用于发送邮件信息,getTransport的参数  
  42.         //表明发送邮件使用的协议。  
  43.         Transport transport = session.getTransport("smtp");  
  44.         transport.connect(smtp,"lhuang1993@163.com","123456");  
  45.         transport.sendMessage(msg,msg.getAllRecipients());  
  46.         transport.close();  
  47.         System.out.println("邮件发送成功");  
  48.     }  
  49. }  
使用过程可能出现: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream  这个错误,当出现以上错误时,恭喜您已经离接收邮件不远了。

javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。 
按下面的解决方法:
进到

X:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5

这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)

删掉之后运行下面的代码,经行简单的修改以后就可以实现接收邮件的功能了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值