@Nikita_Migushev

Как отправить письмо Microsoft Exchange с вложениями из локального диска при помощи nodejs?

Второй день ломаю голову с вложением .xlsx файла при отправке письма Microsoft Exchange через node.js при помощи библиотеки `node-ews`.

Важно именно Microsoft Exchange, т.к. использую свою корпоративную почту для автоматической отправки письма.

Вообще, создавать новый файл получается, но взять уже созданный и вложить его письмо нет...

Подскажите, что делаю не так? Или может как-то по-другому лучше отправлять?

Вот что есть на данный момент:

//Send file via email

const EWS = require('node-ews');

// exchange server connection info
const ewsConfig = {
  username: 'username',
  password: 'pass',
  host: 'host',
  domain: 'domain',
};

// initialize node-ews
const ews = new EWS(ewsConfig);

// define ews api function
const ewsFunction = 'CreateItem';

// define ews api function args
const ewsArgs = {
  attributes: {
    MessageDisposition: 'SendAndSaveCopy',
  },
  SavedItemFolderId: {
    DistinguishedFolderId: {
      attributes: {
        Id: 'sentitems',
      },
    },
  },
  Items: {
    Message: {
      ItemClass: 'IPM.Note',
      Subject: 'Subject',
      Body: 'body',
      ToRecipients: {
        Mailbox: {
          EmailAddress: 'email@email.ru',
        },
      },
      IsRead: 'false',
      Attachments: {
        FileAttachment: {
          Name: 'filename.xlsx',
          IsInline: false,
          ContentType: 'application/vnd.ms-excel',
          ContentLocation: './filename.xlsx',
          Content: '',
        },
      },
    },
  },
};

const ewsHeaders = {
  't:RequestServerVersion': {
    attributes: {
      Version: 'Exchange2013_SP1',
    },
  },
};

// query ews, print resulting JSON to console
ews
  .run(ewsFunction, ewsArgs, ewsHeaders)
  .then((result) => {
    console.log(JSON.stringify(result));
  })
  .catch((err) => {
    console.log(err.stack);
  });
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы