JavaMail发送邮件

1.创建连接对象,连接到邮箱服务器

Session  session = Session.getInstance(props,authenticator); //通过这个来建立一个连接 (java.Mail 包下的Session)

上面的代码需要props 和authenticator ,可以在上面设置 这个Properties

/*其中prop最少需要指定两个键值,一个是指定服务器主机名,另一个是指定是否需要认证!我们使用smtp服务器,当然需要认证!*/
Properties props = new Properties();
prop.setProperty(“mail.host”, “smtp.163.com”);  //通过这个Properties来设置主机名,要发送的服务器地址等。如果是本地的话可以省略
props.setProperty(“mail.smtp.auth”, “true”);//设置需要认证
/*常见邮件服务器名称

这里列出只为讲述常规名称格式,具体参考各自官网。
163:smtp.163.com和pop3.163.com;

126:smtp.126.com和pop3.126.com;

sohu:smtp.sohu.com和pop3.sohu.com;

sina:smtp.sina.com和pop3.sina.com。*/

关于authenticator 是认证信息,使用这个进行发送邮件的用户的信息认证。

Authenticator authenticator = new Authenticator() {
   //在这里面实现账户密码的认证,就可以登录到邮箱服务器上了
   protected PasswordAuthentication getPasswordAuthentication() {
             return new PasswordAuthentication(UserName,password);
   }
}

2.创建邮件对象

Message message  = new MimeMessage(session);//邮件对象
//设置发件人
message.setFrom(new InternetAddress("service@163.com"));//括号里需要一个地址对象,不能直接输入字符串
//设置收件人
message.setRecipient(RecipientType.TO,new InternetAddress("user@163.com") )  /**message.setRecipient(type,address) 前面的type有三种TO 发送给谁 
 , CC  :抄送给谁 , BCC : 暗送给谁*/
//设置邮件主题
message.setSubject("一个主题");
//设置文件正文
message.setContent("","text/html;charset=UTF-8");
/*
message.setContent(arg0,arg1);
第一个参数设置正文的内容  可以写html标签
第二个表示它是一个文本还是html链接  text/html;charset=UTF-8
*/

3.发送邮件

Transport.send(message);

4.使用的jar

   <!--javaMail支持-->
    <dependency>
      <groupId>activation</groupId>
      <artifactId>activation</artifactId>
      <version>1.0.2</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/javax.mail/mail -->
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.6</version>
    </dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值