Open sotnikoff opened 7 years ago
Unfortunately, I don't have an example JSON request that does exactly this... However, if you start with the example in the README here which references the Microsoft article here, and drill into the Message
property which has an Attachments
property, you should be able to cobble the JSON request needed.
Create Email: https://msdn.microsoft.com/en-us/library/office/aa566468
Message: https://msdn.microsoft.com/en-us/library/office/aa494306
Attachment: https://msdn.microsoft.com/en-us/library/office/aa564869
Did you find a way to solve this? @sotnikoff
Using the links provided by @nmarus is sufficient to create the arguments. But what we also needed to do is include the following variable as the headers argument to ews.run:
const ewsHeaders = { 't:RequestServerVersion': { attributes: { Version: 'Exchange2013_SP1' } }, };
Hopefully this will save someone else a couple of hours of debugging nonsensical EWS errors in the future :fox_face:
I just got a working example together, thanks to Catuna's ewsHeaders help above and and wanted to share!
let ews = new EWS(ewsConfig);
// define ews api function
let ewsFunction = 'CreateItem';
// define ews api function args
let ewsArgs = {
attributes: {
MessageDisposition: 'SendAndSaveCopy'
},
SavedItemFolderId: {
DistinguishedFolderId: {
attributes: {
Id: 'sentitems'
}
}
},
Items: {
Message: {
ItemClass: 'IPM.Note',
Subject: subject,
Body: {
attributes: {
BodyType: 'HTML'
},
$value: body
},
ToRecipients: {
Mailbox: RecipientsObject.to
},
CcRecipients: {
Mailbox: RecipientsObject.cc
},
BccRecipients: {
Mailbox: RecipientsObject.bcc
},
IsRead: 'false',
Attachments: {
FileAttachment: [
{
Name: 'firstAttachment.txt',
IsInline: false,
IsContactPhoto: false,
ContentType: 'text/plain',
Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4='
},
{
Name: 'secondAttachment.txt',
IsInline: false,
IsContactPhoto: false,
ContentType: 'text/plain',
Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4='
}
]
}
}
}
};
const ewsHeaders = { 't:RequestServerVersion': { attributes: { Version: 'Exchange2013_SP1' } }, };
ews.run(ewsFunction, ewsArgs, ewsHeaders)
.then(() => {
return resolve();
})
.catch(error => {
console.error('Send Email Service v1 Error: ' + error.message);
return reject('Send Email Service v1 Error: ' + error.message);
});
Thank god, I was about to pull my hair out 😄 ! @Catuna
I just got a working example together, thanks to Catuna's ewsHeaders help above and and wanted to share!
let ews = new EWS(ewsConfig); // define ews api function let ewsFunction = 'CreateItem'; // define ews api function args let ewsArgs = { attributes: { MessageDisposition: 'SendAndSaveCopy' }, SavedItemFolderId: { DistinguishedFolderId: { attributes: { Id: 'sentitems' } } }, Items: { Message: { ItemClass: 'IPM.Note', Subject: subject, Body: { attributes: { BodyType: 'HTML' }, $value: body }, ToRecipients: { Mailbox: RecipientsObject.to }, CcRecipients: { Mailbox: RecipientsObject.cc }, BccRecipients: { Mailbox: RecipientsObject.bcc }, IsRead: 'false', Attachments: { FileAttachment: [ { Name: 'firstAttachment.txt', IsInline: false, IsContactPhoto: false, ContentType: 'text/plain', Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4=' }, { Name: 'secondAttachment.txt', IsInline: false, IsContactPhoto: false, ContentType: 'text/plain', Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4=' } ] } } } }; const ewsHeaders = { 't:RequestServerVersion': { attributes: { Version: 'Exchange2013_SP1' } }, }; ews.run(ewsFunction, ewsArgs, ewsHeaders) .then(() => { return resolve(); }) .catch(error => { console.error('Send Email Service v1 Error: ' + error.message); return reject('Send Email Service v1 Error: ' + error.message); });
how i can use FileAttachment with a file location, i mean i have 2 files .xlsx into my fileserver and i want use the file route of these files and attached into my mail. you was try that?
I just got a working example together, thanks to Catuna's ewsHeaders help above and and wanted to share!
let ews = new EWS(ewsConfig); // define ews api function let ewsFunction = 'CreateItem'; // define ews api function args let ewsArgs = { attributes: { MessageDisposition: 'SendAndSaveCopy' }, SavedItemFolderId: { DistinguishedFolderId: { attributes: { Id: 'sentitems' } } }, Items: { Message: { ItemClass: 'IPM.Note', Subject: subject, Body: { attributes: { BodyType: 'HTML' }, $value: body }, ToRecipients: { Mailbox: RecipientsObject.to }, CcRecipients: { Mailbox: RecipientsObject.cc }, BccRecipients: { Mailbox: RecipientsObject.bcc }, IsRead: 'false', Attachments: { FileAttachment: [ { Name: 'firstAttachment.txt', IsInline: false, IsContactPhoto: false, ContentType: 'text/plain', Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4=' }, { Name: 'secondAttachment.txt', IsInline: false, IsContactPhoto: false, ContentType: 'text/plain', Content: 'VGhpcyBpcyB0aGUgc2Vjb25kIGZpbGUgYXR0YWNobWVudC4=' } ] } } } }; const ewsHeaders = { 't:RequestServerVersion': { attributes: { Version: 'Exchange2013_SP1' } }, }; ews.run(ewsFunction, ewsArgs, ewsHeaders) .then(() => { return resolve(); }) .catch(error => { console.error('Send Email Service v1 Error: ' + error.message); return reject('Send Email Service v1 Error: ' + error.message); });
how i can use FileAttachment with a file location, i mean i have 2 files .xlsx into my fileserver and i want use the file route of these files and attached into my mail. you was try that?
Hi
Have you figured out how to attach files from local storage?
@NikitaMigushev still not, but if you find a solution or how to do it tell me pls
Has anyone solved local storage file attachment?
Is there any way to attach files to sending mails?