Java程序实现发送邮件

java实现smtp邮件发送

一、准备工作

     首先你需要已一个发送邮箱,一般的邮箱都有SMTP、POP3服务,比如QQ邮箱,登陆QQ邮箱开启SMTP服务,开启是服务器会提示你设置独立密码,这个密码是跟邮箱正常登陆的密码不同的,这个是SMTP登陆要用的密码,因此这里需记下SMTP独立密码,程序中会有使用。
(准备工作就是这么简单,只需有一个开启SMTP服务的邮箱即可);还需要一个JAR包(javax.mail.jar);java1.6里已经有了,如果没有把jar包加上。下载地址:http://www.oracle.com/technetwork/java/javamail/index-138643.html 
这里贴一下QQ邮箱设置SMTP的位置:登陆邮箱------点击“设置”-------点击“账户”标签页,往下翻就可以看到如下界面

    

  @Test
 public void Test()
 {
  final Properties props = new Properties();
           // 表示SMTP发送邮件,需要进行身份验证
         props.put("mail.smtp.auth", "true");
         props.put("mail.smtp.host", "smtp.163.com");
         //smtp登陆的账号、密码 ;需开启smtp登陆
         props.put("mail.user", "wangxinvven@163.com");
         // 访问SMTP服务时需要提供的密码,不是邮箱登陆密码,一般都有独立smtp的登陆密码
         props.put("mail.password", "123789456vvxw");
        
         // 构建授权信息,用于进行SMTP进行身份验证
         Authenticator authenticator = new Authenticator() {
         @Override
         protected PasswordAuthentication getPasswordAuthentication() {
                 // 用户名、密码
                 String userName = props.getProperty("mail.user");
                 String password = props.getProperty("mail.password");
                 return new PasswordAuthentication(userName, password);
             }
         };
        
         // 使用环境属性和授权信息,创建邮件会话
         Session mailSession = Session.getInstance(props, authenticator);
         // 创建邮件消息
         MimeMessage message = new MimeMessage(mailSession);
         // 设置发件人
         try{
             InternetAddress form = new InternetAddress("wangxinvven@163.com");
             message.setFrom(form);
 
         // 设置收件人
            InternetAddress to = new InternetAddress("wangxinvven@162.com");
          message.setRecipient(RecipientType.TO, to);
            
             // 设置抄送
             //InternetAddress cc = new InternetAddress("luo_aaaaa@yeah.net");
             //message.setRecipient(RecipientType.CC, cc);
 
             // 设置密送,其他的收件人不能看到密送的邮件地址
             //InternetAddress bcc = new InternetAddress("aaaaa@163.com");
             //message.setRecipient(RecipientType.CC, bcc);
            
             // 设置邮件标题
             message.setSubject("这是测试邮件!");
             // 设置邮件的内容体
             message.setContent("这是用Java程序发送的邮件", "text/html;charset=UTF-8");
             // 发送邮件
             Transport.send(message);
         }catch(MessagingException e){
             e.printStackTrace();
         }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值