codeunitPlatform, DevOps & Performanceofficial - Microsoftderived - from the source, no model text

Codeunit 8905 "Email Message Impl."

System Application · System.Email

Across versions

  1. BC23present
  2. BC242 procedures added
  3. BC2512 procedures added, 3 procedures removed
  4. BC261 procedures added
  5. BC273 procedures added, 1 procedures removed
  6. BC2811 procedures added
  7. BC29-30unchanged

Neighbourhood 12 connected objects and pages

Codeunit 8865 "Email Attachments Impl" (event subscribers)Email Attachments ImplCodeunit 8904 "Email Message" (calls, 39 links)Email MessageCodeunit 8906 "Email Editor" (calls, 13 links)Email EditorCodeunit 8888 "Email Dispatcher" (calls, 8 links)Email DispatcherCodeunit 8900 "Email Impl" (calls, 5 links)Email ImplCodeunit 8907 "Email Viewer" (calls, 5 links)Email ViewerPage 12 "Email Viewer" (calls, 5 links)Email ViewerCodeunit 4100 "Temp Blob" (calls, 4 links)Page 13 "Email Editor" (calls, 4 links)Email EditorCodeunit 4110 "Base64 Convert" (calls, 2 links)Base64 ConvertPage 8889 "Email Attachments" (calls, 2 links)Email AttachmentsCodeunit 8894 "Email Account" (calls)Email Account

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

System Application · System.Email · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Access Internal
Permissions tabledata “Sent Email” = r, tabledata “Email Inbox” = r, tabledata “Email Outbox” = rim, tabledata “Email Message” = rimd, tabledata “Email Error” = rd, tabledata “Email Recipient” = rid, tabledata “Email Message Attachment” = rimd, tabledata “Email Related Record” = rd, tabledata “Tenant Media” = r…

Events published

Event subscriptions

  • OnBeforeInsertEventEmailInbox subscribes to Table “Email Inbox” OnBeforeInsertEvent
  • OnAfterDeleteEmailInbox subscribes to Table “Email Inbox” OnAfterDeleteEvent
  • OnAfterDeleteSentEmail subscribes to Table “Sent Email” OnAfterDeleteEvent
  • OnAfterDeleteEmailOutbox subscribes to Table “Email Outbox” OnAfterDeleteEvent
  • OnBeforeDeleteEmailMessage subscribes to Table “Email Message” OnBeforeDeleteEvent
  • OnBeforeModifyEmailMessage subscribes to Table “Email Message” OnBeforeModifyEvent
  • OnBeforeDeleteAttachment subscribes to Table “Email Message Attachment” OnBeforeDeleteEvent
  • OnBeforeDeleteRecipient subscribes to Table “Email Recipient” OnBeforeDeleteEvent
  • OnBeforeInsertAttachment subscribes to Table “Email Message Attachment” OnBeforeInsertEvent
  • OnBeforeInsertRecipient subscribes to Table “Email Recipient” OnBeforeInsertEvent

Procedures

  • Create(EmailMessageImpl: Codeunit "Email Message Impl.") + BC25 + BC25 − BC25 − BC25
  • Create(ToRecipients: Text; Subject: Text; Body: Text; HtmlFormatted: Boolean) + BC25 + BC25 − BC25 − BC25
  • Create(ToRecipients: Text; Subject: Text; Body: Text; HtmlFormatted: Boolean; Sanitize: Boolean) + BC25 + BC25 − BC25 − BC25
  • Create(Recipients: List of [Text]; Subject: Text; Body: Text; HtmlFormatted: Boolean; CCRecipients: List of [Text]; BCCRecipients: List of [Text]; Sanitize: Boolean) + BC25 + BC25 − BC25 − BC25
  • CreateReply(ToRecipients: Text; Subject: Text; Body: Text; HtmlFormatted: Boolean; ExternalId: Text) + BC25 + BC25
  • CreateReply(ToRecipients: List of [Text]; Subject: Text; Body: Text; HtmlFormatted: Boolean; ExternalId: Text; CCRecipients: List of [Text]; BCCRecipients: List of [Text]) + BC25 + BC25
  • CreateReplyAll(Subject: Text; Body: Text; HtmlFormatted: Boolean; ExternalId: Text) + BC25
  • UpdateMessage(ToRecipients: List of [Text]; Subject: Text; Body: Text; HtmlFormatted: Boolean; ExternalId: Text; CCRecipients: List of [Text]; BCCRecipients: List of [Text]; Sanitize: Boolean) + BC25 − BC25
  • Modify()
  • GetBody(): Text
  • SetBody(BodyText: Text)
  • AppendToBody(BodyText: Text)
  • GetExternalId(): Text[2048] + BC25
  • GetSubject(): Text[2048]
  • SetSubject(Subject: Text)
  • IsBodyHTMLFormatted(): Boolean
  • SetBodyHTMLFormatted(Value: Boolean)
  • AddHeader(HeaderName: Text; HeaderValue: Text) + BC28
  • SetHeader(HeaderName: Text; HeaderValue: Text) + BC28
  • GetHeader(HeaderName: Text; var Value: Text): Boolean + BC28
  • FlushHeaders() + BC28
  • IsRead(): Boolean
  • GetContentTypeFromFilename(FileName: Text): Text[250]
  • AddAttachment(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentBase64: Text) + BC28
  • AddAttachment(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream) + BC28
  • AddAttachment(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream; InLine: Boolean; ContentId: Text[40]) + BC28
  • AddAttachment(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream; InLine: Boolean; ContentId: Text[40]; MessageAlreadyRetrieved: Boolean) + BC28
  • AddAttachmentInternal(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream): Integer + BC28
  • AddAttachmentInternal(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream; InLine: Boolean; ContentId: Text[40]): Integer + BC28
  • AddAttachmentInternal(AttachmentName: Text[250]; ContentType: Text[250]; AttachmentInStream: InStream; InLine: Boolean; ContentId: Text[40]; MessageAlreadyRetrieved: Boolean): Integer + BC28
  • AddAttachmentsFromScenario(var EmailAttachments: Record "Email Attachments")
  • GetRecipients(): List of [Text]
  • GetRecipients(RecipientType: Enum "Email Recipient Type"): List of [Text]
  • GetRecipientsAsText(RecipientType: Enum "Email Recipient Type"): Text
  • SetRecipients(RecipientType: Enum "Email Recipient Type"; RecipientsText: Text)
  • SetRecipients(RecipientType: Enum "Email Recipient Type"; Recipients: List of [Text])
  • AddRecipient(RecipientType: Enum "Email Recipient Type"; Recipient: Text)
  • Attachments_DeleteContent(): Boolean
  • Attachments_DeleteContent(BypassSentCheck: Boolean): Boolean
  • Attachments_Delete(): Boolean
  • Attachments_Delete(BypassSentCheck: Boolean): Boolean
  • Attachments_First(): Boolean
  • Attachments_Next(): Integer
  • Attachments_GetId(): BigInteger + BC26
  • Attachments_GetName(): Text[250]
  • Attachments_GetContent(var InStream: InStream)
  • Attachments_GetContentBase64(): Text
  • Attachments_GetContentType(): Text[250]
  • Attachments_GetContentId(): Text[40]
  • Attachments_IsInline(): Boolean
  • Attachments_GetLength(): Integer
  • GetRelatedAttachments(var EmailRelatedAttachments: Record "Email Related Attachment"): Boolean
  • GetRelatedAttachments(EmailMessageId: Guid; var EmailRelatedAttachmentOut: Record "Email Related Attachment"): Boolean
  • GetId(): Guid
  • Get(MessageId: Guid): Boolean
  • DeleteOrphanedMessages(StartMessageId: Guid; MessagesToIterate: Integer): Guid + BC24
  • DeleteEmailRecipientsIfOrphaned(StartMessageId: Guid; RecipientsToIterate: Integer): Guid + BC27
  • ValidateRecipients()
  • GetNoOfModifies(): Integer
  • FormatFileSize(SizeInBytes: Integer): Text (internal)
  • MarkAsRead()
  • GetEmailMessage(var EmailMessage: Record "Email Message")

Plus 19 local procedures.

Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.

Called by

Recent changes

Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Email Message Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources