Business Central Send Email with Multi Attachments
Business Central Send Email with Multi Attachments
The purpose of this APP is to be able to send an email with a series of attachments; in this case the email is sent to the user (to himself) so that it can then be changed in the email client before sending. In practice, both the Master document (ex Purchase Order) and all attachments are sent in bulk (obviously, keep an eye on the size of the files!).
It is therefore useful to be able to send blocks of attachments to a document.
Sendmail Multi Attachments Process
- Master Document (es Purchase Order) + ALL Linked Documents (attachments) will be sent
Source https://github.com/rstefanetti/AL-Samples/tree/Send-Email-with-Multi-Attachments
Code sample
STEPS
Before using the function, however, you need to add your email address in the user setup.
USER SETUP PAGE
Use the “Attachments function” to insert attachments (example on Purchase Order page)
Select necessary files to use as attachments which will then have to be sent
By pressing the “Send attached documents” button, an email is automatically sent with attachments, the printout of the order in pdf and all the files associated with the order at the user email set.
As already mentioned, the purpose is to prepare an email complete with all attachments in addition to the master document to be sent in bulk to the user. Then you can send it to whoever you need after changing it from the mail client.
MAIL SENDED!
…with ALL attachments!
Enjoy!
Hi i see a reference for 50102, what is that reference to ?
Roberto,
Do you happen to know how to overwrite SMTP settings to use a different server/user to:
1. Allows BC users to send emails as themselves, and
2. To allow jobs to send emails as Customer Service, or Billing accounts
To allow this to happen, we need two different SMTP configurations.
Thank you,
Wіth havin ѕo muⅽh сontent ɗo you ever run into any issues of plagorism oг
copyright violation? Ⅿy site һas a loot οf unique content I’ѵe eіther cгeated myself or outsokurced but it
ѕeems a lot of it is popping it uр aⅼl oveг the internet withput mʏ agreement.
Ɗо yoս kniw ɑny methods to helρ ѕtop content from Ƅeing stolen?
І’d truly apрreciate it.
Updated Code:
PROCEDURE ReportSendMailWithExternalAttachment(
ReportToSend: Integer;
Recordr: RecordRef;
TableID: Integer;
DocNo: Text;
ToAddr: List of [Text];
Subject: Text[100];
Body: Text[200];
AttachmentName: Text[100];
Param: Text; var Purchaseheader: Record “Purchase Header”): Boolean
var
TempBlob: Codeunit “Temp Blob”;
outStreamReport: OutStream;
inStreamReport: InStream;
TempBlobAtc: Array[10] of Codeunit “Temp Blob”;
outStreamReportAtc: Array[10] of OutStream;
inStreamReportAtc: Array[10] of InStream;
Parameters: Text;
EmailObj: Codeunit Email;
EmailMsg: Codeunit “Email Message”;
Question: Label ‘Are you Sure you want to send an email to %1’;
SendYesNo: Boolean;
// Attachments
FullFileName: Text;
DocumentAttachment: record “Document Attachment”;
i: Integer;
begin
EmailMsg.Create(ToAddr, Subject, Body, false);
//Generate blob from report
TempBlob.CreateOutStream(outStreamReport);
TempBlob.CreateInStream(inStreamReport);
Report.SaveAs(ReportToSend, Param, ReportFormat::Pdf, outStreamReport, Recordr);
// Mail.AddAttachmentStream(inStreamReport, AttachmentName);
i := 1;
//Get attachment from the document – streams
DocumentAttachment.Reset();
DocumentAttachment.setrange(“Table ID”, TableID);
DocumentAttachment.setrange(“No.”, DocNo);
if DocumentAttachment.FindSet() then begin
repeat
if DocumentAttachment.”Document Reference ID”.HasValue then begin
TempBlobAtc[i].CreateOutStream(outStreamReportAtc[i]);
TempBlobAtc[i].CreateInStream(inStreamReportAtc[i]);
FullFileName := DocumentAttachment.”File Name” + ‘.’ + DocumentAttachment.”File Extension”;
if DocumentAttachment.”Document Reference ID”.ExportStream(outStreamReportAtc[i]) then begin
//Mail Attachments
EmailMsg.AddAttachment(FullFileName, ‘PDF,’, inStreamReportAtc[i]);
end;
i += 1;
end;
until DocumentAttachment.NEXT = 0;
end;
//Send mail
exit(EmailObj.Send(EmailMsg));
end;