Java使用JavaMail发送邮件的方法

 更新时间:2016年04月05日 10:43:16   作者:沧海小强  
这篇文章主要介绍了Java使用JavaMail发送邮件的方法,结合实例形式分析了Java使用JavaMail实现邮件发送的具体步骤与相关实现代码,需要的朋友可以参考下

本文实例讲述了Java使用JavaMail发送邮件的方法。分享给大家供大家参考,具体如下:

代码一、Email_Autherticator.java 服务器验证代码

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;
public class Email_Autherticator extends Authenticator {
  String username = "你邮箱的用户名";
  String password = "你邮箱的密码";
  public Email_Autherticator() {
 super();
  }
  public Email_Autherticator(String user,String pwd){
 super();
 username = user;
 password = pwd;
  }
  public PasswordAuthentication getPasswordAuthentication(){
 return new PasswordAuthentication(username,password);
  }
}

代码二、Mail.java 发送邮件的代码

import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.SendFailedException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class Mail {
  private String host = "smtp.126.com";
  private String mail_head_name = "this is head of this mail";
  private String mail_head_value = "this is head of this mail";
  private String mail_to = "254173774@qq.com";
  private String mail_from = "hackboyo@126.com";
  private String mail_subject = "this is the subject of this test mail";
  private String mail_body = "this is mail_body of this test mail";
  private String personalName = "我的邮件";
  public void sendMail() throws SendFailedException{
 try {
   Properties props = new Properties();//获取系统环境
   Authenticator auth = new Email_Autherticator();//进行邮件服务用户认证
   props.put("mail.smtp.host", host);
   props.put("mail.smtp.auth", "true");
   System.out.println(props);
   Session session = Session.getDefaultInstance(props,auth);
   //设置session,和邮件服务器进行通讯
   MimeMessage message = new MimeMessage(session);
   message.setContent("Hello","text/plain");//设置邮件格式
   message.setSubject(mail_subject);//设置邮件主题
   message.setText(mail_body);//设置邮件内容
   message.setHeader(mail_head_name, mail_head_value);//设置邮件标题
   message.setSentDate(new Date());//设置邮件发送时期
   Address address = new InternetAddress(mail_from,personalName);
   message.setFrom(address);//设置邮件发送者的地址
   Address toaddress = new InternetAddress(mail_to);//设置邮件接收者的地址
   message.addRecipient(Message.RecipientType.TO,toaddress);
   System.out.println(message);
   Transport.send(message);
   System.out.println("Send Mail Ok!");
 } catch (Exception e) {
   e.printStackTrace();
 }
 //return flag;
  }
}

代码三、Test.java 测试发送邮件的代码

public class Test {
  public static void main(String[] args) {
 Mail m = new Mail();
 try {
   m.sendMail();
 } catch (Exception e) {
 }
  }
}

希望本文所述对大家Java程序设计有所帮助。

相关文章

  • java实现大文本文件拆分

    java实现大文本文件拆分

    这篇文章主要为大家详细介绍了java实现大文本文件拆分,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • Java实体类实现链式操作实例解析

    Java实体类实现链式操作实例解析

    这篇文章主要介绍了Java实体类实现链式操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤

    SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤

    当需要获取配置文件中很多参数时,我们可以定义参数的前缀相同,通过自动映射 进行获取配置文件中参数,所以本文给大家介绍了SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤,需要的朋友可以参考下
    2024-11-11
  • SpringBoot自动配置的8个技巧分享

    SpringBoot自动配置的8个技巧分享

    在 SpringBoot 2.x中,一个很核心的功能是自动配置机制,这篇文章主要为大家详细介绍了Spring Boot 2.x 实现自动配置的8个技巧,希望对大家有所帮助
    2025-01-01
  • java教程之对象序列化使用基础示例详解

    java教程之对象序列化使用基础示例详解

    所谓对象序列化就是将对象的状态转换成字节流,以后可以通过这些值再生成相同状态的对象,下面详细介绍一下java对象的序列化使用方法
    2014-01-01
  • Mybatis反射核心类Reflector的实现

    Mybatis反射核心类Reflector的实现

    本文主要介绍了Mybatis反射核心类Reflector的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • Java实现二叉堆、大顶堆和小顶堆

    Java实现二叉堆、大顶堆和小顶堆

    二叉堆就是完全二叉树,或者是靠近完全二叉树结构的二叉树。大顶堆要求对于一个节点来说,它的左右节点都比它小;小顶堆要求对于一个节点来说,它的左右节点都比它大。本文将用Java分别实现二叉堆、大顶堆和小顶堆。需要的可以参考一下
    2022-01-01
  • Seata之分布式事务问题及解决方案

    Seata之分布式事务问题及解决方案

    这篇文章主要介绍了Seata之分布式事务问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • SpringCloud Open feign 使用okhttp 优化详解

    SpringCloud Open feign 使用okhttp 优化详解

    这篇文章主要介绍了SpringCloud Open feign 使用okhttp 优化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • MyBatis 参数类型为String时常见问题及解决方法

    MyBatis 参数类型为String时常见问题及解决方法

    这篇文章主要介绍了MyBatis 参数类型为String时常见问题及解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03

最新评论