1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 使用java代码发送电子邮件 带附件

使用java代码发送电子邮件 带附件

时间:2020-05-15 01:13:23

相关推荐

使用java代码发送电子邮件 带附件

之前在项目中遇到一个需要用阿里云邮箱带附件发送电子邮件的,分享一下

/*** 发送电子邮件** @return*/public static void sendMail(String toMail) {try {// 收件人电子邮箱String to = toMail;// 发件人电子邮箱String from = "xxxxx@";// 指定发送邮件的主机为String host = ""; //阿里云 邮件服务器// 获取系统属性Properties properties = System.getProperties();// 设置邮件服务器properties.setProperty("mail.smtp.host", host);properties.put("mail.smtp.auth", "true");MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);properties.put("mail.smtp.ssl.enable", "true");properties.put("mail.smtp.ssl.socketFactory", sf);// 获取默认session对象Session session = Session.getDefaultInstance(properties, new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {//阿里云邮箱服务器账户、第三方登录授权码return new PasswordAuthentication("XXX@", "XXXX"); //发件人邮件用户名、密码}});MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress(from, "XXXX"));message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));message.setSubject("XXXX");//创建消息部分BodyPart messageBodyPart = new MimeBodyPart();//消息messageBodyPart.setText("XXXXX");//创建多重消息Multipart multipart = new MimeMultipart();//设置文本消息部分multipart.addBodyPart(messageBodyPart);//附件部分messageBodyPart = new MimeBodyPart();//设置要发送附件的文件路径String filename = ItineraryListFile;//设置附件中显示的文件名,通过filename解析出来String receiveName = ItineraryListFile;DataSource source = new FileDataSource(filename);messageBodyPart.setDataHandler(new DataHandler(source));//处理附件名称中文(附带文件路径)乱码问题messageBodyPart.setFileName(MimeUtility.encodeText(receiveName));multipart.addBodyPart(messageBodyPart);//发送完整消息message.setContent(multipart);//保存邮件message.saveChanges();//发送消息Transport.send(message);} catch (Exception e) {throw new RuntimeException(e.getMessage());}System.out.println("邮件结束");}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。