赞
踩
这个用户名密码,不用授权码
public void handleEvent(EventExecutionContext execution, String parameter) throws Exception { KmReviewMain mainModel = (KmReviewMain) execution.getMainModel(); //收件人邮箱地址 String recipientEmail =(String) mainModel.getExtendDataModelInfo().getModelData().get("recipientEmail"); //发件人邮箱地址 final String senderEmail =(String) mainModel.getExtendDataModelInfo().getModelData().get("senderEmail"); //发件人邮箱密码 final String sendEmailPass =(String) mainModel.getExtendDataModelInfo().getModelData().get("sendEmailPass"); //接受邮件主题 String themeWords =(String) mainModel.getExtendDataModelInfo().getModelData().get("themeWords"); //邮件内容 String emailcontent =(String) mainModel.getExtendDataModelInfo().getModelData().get("emailcontent"); //附件名称 String fujianName=""; //附件存储路径 String fujiandizhi = "/app/resource"; ISysAttMainCoreInnerService sysAttMainService = (ISysAttMainCoreInnerService) SpringBeanUtil.getBean("sysAttMainService"); @SuppressWarnings("unchecked") List<SysAttMain> sysAttMainList = (List<SysAttMain>) sysAttMainService.findByModelKey(KmReviewMain.class.getName(), mainModel.getFdId(), "sendemailandattachkey"); if(sysAttMainList!=null&&sysAttMainList.size()>0){ SysAttMain sysAttMain = sysAttMainList.get(0); fujianName = sysAttMain.getFdFileName(); String in = SysAttViewerUtil.getMediaFilePath(sysAttMain); fujiandizhi+=in; } JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); //发邮件人邮箱 javaMailSender.setUsername(senderEmail); //发邮件人邮箱密码(默认使用客户端的授权码) javaMailSender.setPassword(sendEmailPass); //设置邮件服务器主机名 SMTP服务器地址 javaMailSender.setHost("mail.boshi.cn"); //SMTP服务器: 默认端口 换成腾讯云服务器后,需要将端口换成465 //javaMailSender.setPort(465); javaMailSender.setPort(25); 发送邮件协议名称 javaMailSender.setProtocol("smtp"); //编码格式 javaMailSender.setDefaultEncoding("UTF-8"); //创建连接对象,连接到邮箱服务器 Properties mailProperties = new Properties(); //发送服务器需要身份验证,要采用指定用户名密码的方式去认证 mailProperties.put("mail.smtp.auth", true); mailProperties.put("mail.smtp.starttls.enable", true); //添加连接对象到邮件对象中 javaMailSender.setJavaMailProperties(mailProperties); try { // 得到默认的对话对象 Authenticator a = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(senderEmail, sendEmailPass); } }; MimeMessage message = getMimeMessage(mailProperties,a,senderEmail,fujianName, recipientEmail, themeWords, emailcontent, fujiandizhi); javaMailSender.send(message); // 发送消息 // Transport.send(message); logger.warn("-----------------------邮件发送成功-------------------"); } catch (Exception e) { e.printStackTrace(); logger.error("-----------------------邮件发送失败--------------------"); } } private MimeMessage getMimeMessage(Properties props,Authenticator a ,String from,String fromEmail, String receive, String subject, String msg, String filename) throws MessagingException, UnsupportedEncodingException { // 创建默认的 MimeMessage 对象 //创建Session实例 Session session = Session.getDefaultInstance(props, a); session.setDebug(true); //创建MimeMessage实例对象 MimeMessage message=new MimeMessage(session); //设置自定义发件人昵称 String nick=""; try { // nick=javax.mail.internet.MimeUtility.encodeText("luminescience"); if(StringUtil.isNotNull(fromEmail)){ //nick=javax.mail.internet.MimeUtility.encodeText(fromEmail); nick=javax.mail.internet.MimeUtility.encodeText(subject); } } catch (Exception e) { e.printStackTrace(); } message.setFrom(new InternetAddress(nick+" <"+from+">")); // Set From: 头部头字段 // message.setFrom(new InternetAddress(from)); // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(receive)); // Set Subject: 主题文字 message.setSubject(subject); // 创建消息部分 BodyPart messageBodyPart = new MimeBodyPart(); // 消息 messageBodyPart.setText(msg); // 创建多重消息 Multipart multipart = new MimeMultipart(); // 设置文本消息部分 multipart.addBodyPart(messageBodyPart); // 设置要发送附件的文件路径 if(StringUtil.isNotNull(filename)){ // 附件部分 messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); // 处理附件名称中文(附带文件路径)乱码问题 messageBodyPart.setFileName(MimeUtility.encodeText(fromEmail)); multipart.addBodyPart(messageBodyPart); } // 发送完整消息 message.setContent(multipart); return message; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。