java发送邮件简单实现以及原理(亲…



由于公司业务需要 ,需要在项目中实现一个简单的发送邮箱激活邮箱功能,所以这研究了一下邮件发 送的 原理以及工作流程   ,因为我们平常发送邮箱基本不需要太大功能 ,所以 本文只简单介绍一下java中 怎么发送邮件一封邮件

导包 ! 导包! 导包!!!!重要的事情说三遍(工程中导入mail.jar)
首先   简单的理解一下我们java程序怎么写才能满足我们的需求
大致分为一下几个步骤:




第一步 :需要先准备一个发送邮件的配置类( Properties),因为我们发送邮件需要配置一些参数,
比如 ,主机 端口 协议 等等
Properties props = new Properties();//这是配置类






第二步:需要打开一个会话(Session) 通过这个会话的到去链接邮箱服务器,
这里需要把我们上步的配置类会话类(Session)当做参数传入

Session session = Session.getInstance(props);//这是会话类






第三步:需要创建邮件内容的类(Message)通过这个类创建具体的邮件内容,
比如 ,发件人 收件人,主题 等等

Message msg = new MimeMessage(session);//这是邮件内容类





好了     我们的邮件基本上都已经配置完成了,现在就可以创建邮件发送类将邮件发送出去
需要说明的是,如果我们以上的三步没有配置邮件发送相关的配置 ,那么我们也可以在
邮件发送类中配置 总之javax.mail api给了我们设计了非常灵活的邮件发送方案






第四步: 创建邮件发送类(Transport) 通过这个类可以讲我们创建好的邮件发送出去

Transport transport = session.getTransport();//邮件发送类


java发送邮件简单实现以及原理(亲测成功) <wbr>泽0715 <wbr>新浪博客



· 以下是我写的一个简单的实现   ,初学的同学可以参考一下
这里我写的是新浪邮箱发送到qq邮箱的实例

  package czmail; 
  import java.util.Properties;  
  import javax.mail.Address; 
  import javax.mail.Message; 
  import javax.mail.Session;
  import javax.mail.Transport;
  import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage;

 
  public class Demo1 { 


  public static void main(String[] args) throws Exception{

  Properties props = new Properties(); //配置类
  props.setProperty("mail.smtp.auth", "true"); //开启验证 必须设置
  props.setProperty("mail.transport.protocol", "smtp"); //设置协议 必须设置

  Session session = Session.getInstance(props); //会话类
  session.setDebug(true); 

  Message msg = new MimeMessage(session); //邮件类
  msg.setText("测试邮箱发送"); 
  msg.setSubject("java 测试"); 
  msg.setFrom(new InternetAddress("新浪邮箱地址"));//比如   lyp@sina.com 
  Transport transport = session.getTransport(); 
  transport.connect("smtp.sina.com", 25, "用户名", "密码");用户名 示例 lyp 
//新浪邮箱主机 发送的端口 自己的用户名,密码
  transport.sendMessage(msg, 
  new Address[]{new InternetAddress("1360461332@qq.com")}); 
  transport.close(); } }


通过上面的实例程序就可以实现简单的发送一个邮箱的功能 ,还有些需要注意的就是,
如果出现错误 ,检查是否自己邮箱是否开启smtp协议 以本例为例   去自己的新浪邮箱
设置smtp为开启状态

好了    以上就可以实现简单java发送邮件的发送功能


有问题发我邮箱   1360461332@qq.com




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值