java发送邮件(以qq邮箱为例)

不BB,直接上码:

import javax.mail.*;

public void sendMail() {

        try{
             Properties properties = new Properties();

             InputStream inputStream = SysErrorLogServiveImpl.class.getClassLoader().getResourceAsStream(PROPERTIES_DEFAULT);

//读取配置文件。ps:SysErrorLogServiveImpl类为当前类,PROPERTIES_DEFAULT为“mailConfig.properties”配置文件名

             properties.load(inputStream);
             inputStream.close();
             
             String sendAccount = properties.getProperty("mail.send.account");
             String password = properties.getProperty("mail.send.password");
             String receiveAccount = properties.getProperty("mail.receive.account");
             String host = properties.getProperty("mail.host");
             int port = Integer.parseInt(properties.getProperty("mail.smtp.port"));
             
             Session session = Session.getDefaultInstance(properties);
             session.setDebug(true);
             
             Message msg = new MimeMessage(session);  //建立一个要发送的信息
             msg.setText("test sendMessage~~");//设置简单的发送内容

             msg.setFrom(new InternetAddress(sendAccount));//发件人邮箱号

//以下注释部分为添加多人收件使用

// StringBuffer sb = new StringBuffer();
//             sb.append(receiveAccount);
//             sb.append(",");
//             sb.append(receiveAccount1);

//InternetAddress[] internetAddressTo = new InternetAddress().parse(sb.toString());  

//             msg.setRecipients(Message.RecipientType.TO, internetAddressTo);

             Transport transport = session.getTransport();//发送信息的工具
             transport.connect(host, port, sendAccount, password);//发件人邮箱号 和密码

             transport.sendMessage(msg, new Address[] { new InternetAddress(receiveAccount) });//对方的地址

//transport.sendMessage(msg, msg.getAllRecipients());//多人地址

             transport.close();
        }catch(Exception e){
            e.printStackTrace();
        }

    }

mailConfig.properties:

#服务器
mail.host=smtp.qq.com
#协议
mail.transport.protocol=smtp
mail.smtp.auth=true
#SSL加密
mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
#端口号
mail.smtp.port=465
mail.smtp.socketFactory.port=465
[email protected]
mail.send.password=xxxxxxxxxx  //qq邮箱密钥可在邮箱设置-账户-POP3/SMTP服务IMAP/SMTP服务开启时获得

[email protected]



maven依赖:

 
             javax.activation  
             activation  
             1.1  
       
 
         
             javax.mail  
             mail  
             1.4  
       


你可能感兴趣的:(JAVA后台功能)