美文网首页
JavaMail文件发送

JavaMail文件发送

作者: 汤姆torn | 来源:发表于2020-07-27 15:16 被阅读0次

    邮箱开启SMTP


    image.png

    导包

         <dependency>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
                <version>1.4.7</version>
            </dependency>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>1.1.1</version>
            </dependency>
    
    public class SendMail {
        public static void main(String [] args)
        {
            // 收件人电子邮箱
            String to = "xx@qq.com";
    
            // 发件人电子邮箱
            String from = "xx@qq.com";
    
            // 指定发送邮件的主机为 localhost
            String host = "smtp.qq.com";  //QQ 邮件服务器
    
            // 获取系统属性
            Properties properties = System.getProperties();
    
            // 设置邮件服务器
            properties.setProperty("mail.smtp.host", host);
    
            properties.put("mail.smtp.auth", "true");
            // 获取默认session对象
            Session session = Session.getDefaultInstance(properties,new Authenticator(){
                public PasswordAuthentication getPasswordAuthentication()
                {
                    return new PasswordAuthentication("xxx@qq.com", ""); //发件人邮件用户名,密码是邮箱的授权码,不是登录密码
                }
            });
    
            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("This is the Subject Line!");
    
                // 创建消息部分
                BodyPart messageBodyPart = new MimeBodyPart();
    
                // 消息
                messageBodyPart.setText("This is message body");
    
                // 创建多重消息
                Multipart multipart = new MimeMultipart();
    
                // 设置文本消息部分
                multipart.addBodyPart(messageBodyPart);
    
                // 附件部分
                messageBodyPart = new MimeBodyPart();
                String filename = "wanted.png";
                DataSource source = new FileDataSource(filename);
                messageBodyPart.setDataHandler(new DataHandler(source));
                messageBodyPart.setFileName(filename);
                multipart.addBodyPart(messageBodyPart);
    
                // 发送完整消息
                message.setContent(multipart );
    
                //   发送消息
                Transport.send(message);
                System.out.println("Sent message successfully....");
            }catch (Exception   mex) {
                mex.printStackTrace();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:JavaMail文件发送

          本文链接:https://www.haomeiwen.com/subject/qmmzlktx.html