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
mail.send.account=xxxxxxx@qq.com
mail.send.password=xxxxxxxxxx  //qq邮箱密钥可在邮箱设置-账户-POP3/SMTP服务IMAP/SMTP服务开启时获得

mail.receive.account=xxxxxxx@qq.com



maven依赖:

<dependency>  
             <groupId>javax.activation</groupId>  
             <artifactId>activation</artifactId>  
             <version>1.1</version>  
        </dependency>  
        <dependency>  
             <groupId>javax.mail</groupId>  
             <artifactId>mail</artifactId>  
             <version>1.4</version>  
        </dependency>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值