• java发送163邮件


    https://blog.csdn.net/xiaohai1232/article/details/61220848 

    pom文件添加依赖

    <!-- https://mvnrepository.com/artifact/javax.mail/javax.mail-api -->
    <dependency>
        <groupId>javax.mail</groupId>
        <artifactId>javax.mail-api</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.5.3</version>
    </dependency>
    

     

      编写测试类

    package com.framework.asserts;
    
    
    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;
    import javax.mail.internet.MimeMessage.RecipientType;
    
    
    public class SendMailUtil {
    	
       
        public static void main(String[] args) throws Exception, MessagingException {
        	//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("xxx_test@163.com","xxxxx");
                }
            };
    
            //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_test@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("xxx_test@163.com"));
            // 2.3 主题(标题)
            message.setSubject("邮件的标题");
            // 2.4 正文
            String str = "李四: <br/>" +
                            "您好,您在本论坛注册用户,点击下面url进行激活<br/>" +
                            "http://ww......<br/>" +
                            "如果不能点击,请复制直接激活<br/>" +
                            "如果不是本人,请删除邮件";
            //设置编码,防止发送的内容中文乱码。
            message.setContent(str, "text/html;charset=UTF-8");
            
            
            //3发送消息
            Transport.send(message);
        }
        
    }
    

      

    李四: 
    您好,您在本论坛注册用户,点击下面url进行激活
    http://ww......
    如果不能点击,请复制直接激活
    如果不是本人,请删除邮件
    

      

  • 相关阅读:
    acwing 873. 欧拉函数
    acwing 104. 货仓选址(排序不等式)
    csp 2019122 回收站选址(遍历)
    acwing 859. Kruskal算法求最小生成树
    acwing算法基础课整理ACM模板
    csp 2019092 小明种苹果(续)(模拟)
    acwing 4227. 找路(BFS最短路)
    acwing 4229. 哈密顿绕行世界问题(dfs)
    vue中使用typescript与js语法区别,个人感觉
    vue在配置scss由于node不是最新的,出现错误
  • 原文地址:https://www.cnblogs.com/zhou-test/p/10059074.html
Copyright © 2020-2023  润新知