Создайте электронную почту (формат outlook) на стороне веб-службы (Java), отправьте в интерфейс и загрузите - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу написать сервис, с помощью которого я могу создать сообщение электронной почты с указанием (to, cc, bcc, subject, body).Затем мне нужно вернуть это электронное письмо во внешний интерфейс и загрузить его в формате ".oft" таким образом, чтобы при нажатии на этот загруженный файл;файл должен открыться со всеми заполненными полями (to, cc, bcc, subject, body).

Я использую Java в качестве технологии бэкэнда и angular5 в качестве интерфейса.

Я пытался использоватьУтилита javax.mail для создания сообщения электронной почты и возврата его в виде байтового массива.Что-то вроде:

Properties prop = System.getProperties();
Session session = Session.getDefaultInstance(prop, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("emailAddr@domain.com"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("emailAddr@domain.com"));
msg.setSentDate(new Date());
msg.setSubject("subject");
msg.setText("text of msg"); 


//return it from service API as
response.getOutputStream().write(msg.toString().getBytes());

На внешней стороне (файл component.ts) Я получаю ответ как:

//function gets called on button click
createEmailTemplate():void{
    this.httpService.getEmail('serviceUrl')
    .subscribe(
      email => {
         let filename = "SampleMailFile.oft";
         let linkElement = document.createElement('a');
         let blob = new Blob([email], { type: "message/rfc822"});
         let url = window.URL.createObjectURL(blob);
         linkElement.setAttribute('href', url);
         linkElement.setAttribute("download", filename);
         let clickEvent = new MouseEvent("click", {
                "view": window,
                 "bubbles": true,
                 "cancelable": false
          });
         linkElement.dispatchEvent(clickEvent);
      }
    );
}

1 Ответ

0 голосов
/ 04 декабря 2018

Файл MSG должен иметь тот же формат, что и файл OFT.Если это так, тогда вы можете использовать jotlmsg для генерации файла.Для этого вам вообще не нужно использовать JavaMail, поскольку он предназначен для отправки почты.

ПРИМЕЧАНИЕ: Я раньше не использовал эту библиотеку, поэтому не могупоговорите с тем, будет ли это действительно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...