Как отправить Java MimeMultipart через Exchange Server - PullRequest
0 голосов
/ 14 ноября 2018

Я использую javamail api, и мне нужно отправить письмо через сервер Exchange, а затем вставить изображение в тело письма. Как отправить встроенное изображение в MimeMultipart в EmailMessage с помощью Exchange? Я успешно отправил то же письмо, используя SMTP.

EmailMessage msg = new EmailMessage(service);
			msg.setSubject(emailSubject);
			msg.getReplyTo().add(emailAdmin);
			msg.getToRecipients().add(emailAddress);

			// This mail has 2 part, the BODY and the embedded image
	         MimeMultipart multipart = new MimeMultipart("related");
	         
	         //1st part (the message)
	         BodyPart messageBodyPart = new MimeBodyPart();
	         messageBodyPart.setContent(message,"text/html; charset=UTF-8");	   
	         multipart.addBodyPart(messageBodyPart);
	         
	         // second part (the image)
	         messageBodyPart = new MimeBodyPart();
	         DataHandler h = null;
	         String base64 = configuration.getImageBase64();
			 
			 //Base64.decodeBase64(string | bytes)				
			 byte[] decode = Base64.decodeBase64(base64.getBytes());
			 
			 InputStream stream = new ByteArrayInputStream(decode);
			 try {
				h=new DataHandler(new ByteArrayDataSource(stream,"application/octet-stream"));
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			 
			 messageBodyPart.setDataHandler(h); 
			 messageBodyPart.setHeader("Content-ID", "image");
			 messageBodyPart.setHeader("Content-Type", "image/jpeg; name=image.jpg");
			 messageBodyPart.setHeader("Content-Disposition", "inline");
			 
			 // add image to the multipart
			 multipart.addBodyPart(messageBodyPart);
	         
	         // put everything together
	         msg.setContent(multipart);////how to set multipart into msg?
			
			synchronized (msg) {
				msg.send();
			}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...