网易邮箱开通/发送邮件(JAVA版)

1. 登录/注册网易邮箱

网址

2. 进入邮箱,找到导航栏设置

在这里插入图片描述
在这里插入图片描述

2.1 选择 POPS/SMTP/IMAP

在这里插入图片描述

2.2 开启服务(

IMAP/SMTP服务 和 POP3/SMTP服务)
在这里插入图片描述
在这里插入图片描述

3. 代码部分

3.1 引入依赖

        <!--网易邮件-->
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>javax.mail-api</artifactId>
            <version>1.6.2</version>
        </dependency>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>1.6.5</version>
        </dependency>

3.2 邮箱配置类

public class MailConst {
    //发送邮件的邮箱-- 替换成你的邮箱
    public static final String USER_NAME = "xing****8**8@yeah.net";
    //授权密码 -- 替换成你的 PWD_CODE
    public static final String  PWD_CODE = "DHZGHGYUS******";
    // 替换一下 smtp.yeah.net / smtp.163.com 跟你的发送邮件相关
    public static final String MAIL_HOST = "smtp.yeah.net";
    public static final String MAIL_SMTP_AUTH = "true";

}

3.3 邮箱工具类

public class MailUtils {

    //建立服务器的邮件连接,从而可以进行发送邮件
    public static Session getMailSession(){
        //0.1 确定连接位置
        Properties properties = new Properties();
        //获取163邮箱smtp服务器的地址,
        properties.setProperty("mail.host", MailConst.MAIL_HOST);
        //是否进行权限验证。
        properties.setProperty("mail.smtp.auth", MailConst.MAIL_SMTP_AUTH);
        //0.2确定权限(账号和密码)
        Authenticator authenticator = new Authenticator() {
            @Override
            public PasswordAuthentication getPasswordAuthentication() {
                //填写自己的163邮箱的登录帐号和授权密码(不是登录密码)。
                return new PasswordAuthentication(MailConst.USER_NAME,MailConst.PWD_CODE);
            }
        };
        //1 获得连接
        /**
         * properties:包含配置信息的对象,Properties类型
         *         配置邮箱服务器地址、配置是否进行权限验证(帐号密码验证)等
         *
         * authenticator:确定权限(帐号和密码)
         *
         * 所以就要在上面构建这两个对象。
         */
        Session session = Session.getDefaultInstance(properties, authenticator);
        return session;
    }

    /**
     *  指定一个人发送邮件,单个发送
     * @Param toEmailAddress  单个接受邮件的邮箱地址
     * @Param title 主题
     * @Param content  内容
     **/
    public static void sendMailTOSingleUser(String toEmailAddress,String title, String content){
        //获得邮箱服务器的连接
        Session session = getMailSession();
        //2 创建消息
        Message message = new MimeMessage(session);
        // 2.1 发件人 我们自己的邮箱地址,就是名称
        try {
            message.setFrom(new InternetAddress(MailConst.USER_NAME));
            /**
             * 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(MimeMessage.RecipientType.TO, new InternetAddress(toEmailAddress));
            //设置抄送人,这里设置自己的是抄送人,免得被网易邮箱列为垃圾邮件
            message.setRecipient(Message.RecipientType.CC, new InternetAddress( MailConst.USER_NAME ));
            // 2.3 主题(标题)
            message.setSubject(title);
            //设置编码,防止发送的内容中文乱码。
            message.setContent(content, "text/html;charset=UTF-8");
            //3发送消息
            Transport.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

    /**
     * 群发邮件,也可以只发一个人。可设置主题和邮件内容,无附件
     * @Param toEmailAddressArray 接受邮件的所有邮箱地址
     * @Param title 主题
     * @Param content  内容
     **/
    public static void sendMailToUserArray(ArrayList<String> toEmailAddressArrayList , String title, String content) {
        String[] toEmailAddressArray = (String[]) toEmailAddressArrayList.toArray(new String[0]);
        //获得邮箱服务器的连接
        Session session = getMailSession();
        //2 创建消息
        Message message = new MimeMessage(session);
        // 2.1 发件人 我们自己的邮箱地址,就是名称
        try {
            message.setFrom(new InternetAddress(MailConst.USER_NAME));

            if (toEmailAddressArray != null) {
                // 为每个邮件接收者创建一个地址
                Address[] toEmailRecipients = null;
                toEmailRecipients = new InternetAddress[toEmailAddressArray.length];
                for (int i = 0; i < toEmailAddressArray.length; i++) {
                    toEmailRecipients[i] = new InternetAddress(toEmailAddressArray[i]);
                }
                message.setRecipients(MimeMessage.RecipientType.TO, toEmailRecipients);

            }
            //设置抄送人,这里设置自己的是抄送人,免得被网易邮箱列为垃圾邮件
            message.setRecipient(Message.RecipientType.CC, new InternetAddress( MailConst.USER_NAME ));
            // 2.3 主题(标题)
            message.setSubject(title);
            //设置编码,防止发送的内容中文乱码。
            message.setContent(content, "text/html;charset=UTF-8");
            //3发送消息
            Transport.send(message);
        } catch (MessagingException ex) {
            ex.printStackTrace();
        }
    }

}

3.4 发送邮件测试类(批量发送)

    @Test
    public void emailTest(){
        String mobile = "1373****600";
        String vin = "ABCDEFG";
        //发送邮件
        ArrayList<String> emailArray = new ArrayList<>();
        emailArray.add("2055****7@qq.com"); // 替换一下
        emailArray.add("xingf****88@yeah.net"); //替换一下
        MailUtils.sendMailToUserArray(emailArray,"查询出错","vin码:"+vin+"查询失败"+"联系电话:"+mobile);
    }
  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用JavaMail API来发送邮件。以下是一个简单的示例代码: ```java import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public static void main(String[] args) { // 收件人电子邮箱 String to = "recipient@example.com"; // 发件人电子邮箱 String from = "sender@example.com"; // smtp服务器 String host = "smtp.ym.163.com"; // 获取系统属性 Properties properties = System.getProperties(); // 设置邮件服务器 properties.setProperty("mail.smtp.host", host); properties.setProperty("mail.smtp.auth", "true"); // 获取默认的Session对象 Session session = Session.getDefaultInstance(properties, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("yourusername", "yourpassword"); // 发件人的账号和密码 } }); try { // 创建默认的 MimeMessage 对象。 MimeMessage message = new MimeMessage(session); // Set From: 头部头字段 message.setFrom(new InternetAddress(from)); // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: 头部头字段 message.setSubject("Test Email"); // 设置消息体 message.setText("This is a test email"); // 发送消息 Transport.send(message); System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } } } ``` 请将上述代码中的 `yourusername` 和 `yourpassword` 替换为你的网易企业邮箱的用户名和密码,并将 `recipient@example.com` 替换为收件人的邮箱地址。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Light~One

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值