使用JavaMail发送邮件

本文介绍如何使用JavaMail API进行电子邮件的发送与接收。主要内容包括JavaMail包的引入、Message类的基本用法、邮件发送与接收的具体步骤及配置示例。

JavaMail是SUN提供的用于发送和接收电子邮件的编程接口

1.导入JavaMail相关包(JavaMail1.4.5为例)

   http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-    downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR

   解压后加入mail.jar包

Message类:实例对象代表一封电子邮件,发送邮件时,将要发送的数据封装到Message对象中,然后通过邮件发送api发送

                         出去。接收邮件时,邮件接收api将接收到的数据封装到Message对象中

                         Message msg=new MimeMessage(session);//根据session创建message

                          msg.setFrom(new InternetAddress(from));//设置邮件发送者地址,from为邮箱字符串

                         msg.setRecipients(Message.RecipientType.TO, address);//设置邮件接收者地址,接收者类型可以是     

                                                                                  Message.RecipientType .TO,Message .RecipientType.CC和

                                               Message.RecipientType.BCC,TO表示主要接收人,CC表示抄送人 ,BCC表示秘密抄送人

                           msg.setSubject(String)//设置消息主题

                          msg.setSentDate(Date)//设置邮件发送时间

                           msg.setText(String)//设置发送的主要内容,通过其他还可以发送其他类型的数据

Transport:邮件发送api,实例对象代表实现了某个邮件发送协议的邮件发送对象

                     Transport.send(Message)

Store:邮件接收api,实例对象代表实现了某个邮件接收协议的邮件接收对象

Session:收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器主机名、端口号、邮件发送协议和接收协议

                   等, 用来构建Transport和Store对象等

                 Properties props = System.getProperties();  
         props.put("mail.smtp.host", host); /
邮件服务器,协议
         props.put("mail.smtp.auth", "true");  
//通过验证方式连接邮件服务器  

         Session session = Session.getDefaultInstance(props,  
               new Authenticator(){  
           public PasswordAuthentication getPasswordAuthentication(){  
               return new PasswordAuthentication(username, password);
 //用户名和客户端授权码
           }  
       }); 

              host为smtp.163.com时, 需要开启网易邮箱的smtp服务获得客户端授权密码(开启发送者邮箱)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值