设置163邮箱的授权码

什么是授权码?这个很简单,如果你不是在163的邮箱网址中登录的,而是在一些第三方客户端中登录邮箱帐号密码,那么就必须进行授权,来获取一个授权码,使用该授权码在第三方客户端中进行登录。而该授权码就相当于我们的密码了,帐号是不变的,也就是我们说我们在java代码中想登录邮箱,那么就必须使用授权码进行登录。如果获取授权码呢?

有了授权码就可以编写代码了

当然需要去下载javamail的依赖包,这里我就不再多说。

完整的代码

package com.dowhere;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.Message.RecipientType;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

/**

 * JavaMail发送163邮箱

 * @author 周谦

 */

public class Mail163Test {

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

       // 0.1 确定连接位置

       Properties props = new Properties();

       // 获取163邮箱smtp服务器的地址,

       props.setProperty(“mail.host”, “smtp.163.com”);

       // 是否进行权限验证。

       props.setProperty(“mail.smtp.auth”, “true”);

       // 0.2确定权限(账号和密码)

       Authenticator authenticator = new Authenticator() {

           @Override

           public PasswordAuthentication getPasswordAuthentication() {

              // 填写自己的163邮箱的登录帐号和授权密码,授权密码的获取,在后面会进行讲解。

              return new PasswordAuthentication(“163邮箱的帐号”, “授权码”);

           }

       };

       // 1 获得连接

       /**

        * props:包含配置信息的对象,Properties类型 配置邮箱服务器地址、配置是否进行权限验证(帐号密码验证)等

        * authenticator:确定权限(帐号和密码)

        * 所以就要在上面构建这两个对象。

        */

        Session session = Session.getDefaultInstance(props, authenticator);

       // 2 创建消息

       Message message = new MimeMessage(session);

       // 2.1 发件人 xxx@163.com 我们自己的邮箱地址,就是名称

       message.setFrom(new InternetAddress(“xxx@163.com”));

       /**

        * 2.2 收件人 第一个参数: RecipientType.TO 代表收件人 RecipientType.CC 抄送 RecipientType.BCC

        * 暗送 比如A要给B发邮件,但是A觉得有必要给要让C也看看其内容,就在给B发邮件时,

        * 将邮件内容抄送给C,那么C也能看到其内容了,但是B也能知道A给C抄送过该封邮件 而如果是暗送(密送)给C的话,那么B就不知道A给C发送过该封邮件。

        * 第二个参数 收件人的地址,或者是一个Address[],用来装抄送或者暗送人的名单。或者用来群发。可以是相同邮箱服务器的,也可以是不同的

        * 这里我们发送给我们的qq邮箱

        */

       message.setRecipient(RecipientType.TO, new InternetAddress(“35447702@qq.com”));

       // 2.3 主题(标题)

       message.setSubject(“邮件的标题”);

       // 2.4 正文

       String str = “这个是邮件的正文”;

       // 设置编码,防止发送的内容中文乱码。

       message.setContent(str, “text/html;charset=UTF-8”);

       // 3发送消息

       Transport.send(message);

    }

}

发表评论

电子邮件地址不会被公开。 必填项已用*标注