public static void main(String[] args) throws GeneralSecurityException, UnsupportedEncodingException, MessagingException {//定义一个接收人的邮箱,或者还有抄送人的邮箱,也一块定义了String user ="接收人的邮箱";// String usercc ="抄送人邮箱";//Properties类主要用于读取Java的配置文件Properties prop = new Properties();//设置发送的协议prop.setProperty("mail.transport.protocol", "smtp");prop.setProperty("mail.smtp.auth", "true");// 使用验证//设置发送邮件的服务器//这里设置了用qq邮箱发邮件prop.setProperty("mail.host", "smtp.qq.com");//设置SSL连接方式//SSL认证是指客户端到服务器端的认证。主要用来提供对用户和服务器的认证;//对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准MailSSLSocketFactory sf = new MailSSLSocketFactory(); //同时按alt+enter 抛出错误sf.setTrustAllHosts(true);prop.put("mail.smtp.ssl.enable","true");prop.put("mail.smtp.ssl.socketFactory",sf);//创建验证器Authenticator auth = new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {//发件人邮件用户名 密码return new PasswordAuthentication("发件人邮件用户名", "授权码(注:不是qq的密码)");}};//使用JavaMail发送邮件的5个步骤//1、创建session//Session保存邮件系统的配置属性和提供用户验证的信息,发送email首先要获取session对象Session session = Session.getInstance(prop,auth);//2.创建一个Message,相当于邮件的内容MimeMessage message = new MimeMessage(session);//3.设置发送者,发送者邮箱 昵称 编码格式message.setFrom(new InternetAddress("发送者邮箱","昵称","UTF-8"));//4.设置发送方式与接收者//Message.RecipientType.TO:消息接受者//Message.RecipientType.CC:消息抄送者//Message.RecipientType.BCC:匿名抄送接收者(其他接受者看不到这个接受者的姓名和地址)message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(user, "小小孩用户", "UTF-8"));//message.setRecipients(MimeMessage.RecipientType.CC,new InternetAddress(usercc, "小小孩用户", "UTF-8");//message.setRecipients(MimeMessage.RecipientType.BCC,new InternetAddress(userbcc, "小小孩用户", "UTF-8");// Set Subject: 头部头字段message.setSubject("This is the Subject Line!");// 设置消息体message.setText("This is actual message");//设置邮件主题message.setSubject("验证码验证");//设置邮件内容,及编码格式message.setContent("java代码发送邮件实现", "text/html;charset=utf-8");// 5.创建 Transport用于将邮件发送Transport.send(message);}
java 发送邮件怎么抄送,Java实现邮件发送(二)
最新推荐文章于 2024-05-07 17:33:50 发布