Email (E-mailbericht)
Email is de wachtrij-entiteit voor uitgaande e-mailberichten in Ultimo: elke keer dat een workflow de <Email>-instructie uitvoert, wordt een Email-record aangemaakt met ontvanger(s), onderwerp, body en bijlagen. De entiteit heeft een eigen statusmachine (Te verzenden → Verzonden / Mislukt / Genegeerd) en biedt zichtbaarheid in de e-mailwachtrij en eventuele verzendfouten (ErrorMessage, FailedCount, LastFailureTime). Berichten worden pas fysiek verzonden door de Ultimo e-mailserver-service; TransferNextTime triggert een herpoging bij de eerstvolgende verwerkingscyclus.
Entiteitsnaam: Email
Databasetabel: Email
Primaire sleutel: EMLID (UltimoString(11))
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | EmailContext.None | Standaard |
| 1 | EmailContext.Email | Standaard |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | EmailStatus.Trash | Trash |
| 0 | EmailStatus.None | None |
| 1 | EmailStatus.Draft | Te verzenden |
| 2 | EmailStatus.Sent | Verzonden |
| 4 | EmailStatus.ToBeSentAfterError | Te verzenden na error |
| 8 | EmailStatus.Failed | Verzenden mislukt |
| 16 | EmailStatus.Invalid | Incorrect |
| 32 | EmailStatus.Concept | Concept |
| 64 | EmailStatus.Ignored | Genegeerd |
Belangrijkste propertiesbewerken
De entiteit heeft in totaal 27 properties. Hieronder de belangrijkste; gebruik
lookup_entity("Email")voor de volledige lijst.
| Property | Type | Kolom | Nullable | Default | Omschrijving |
|---|---|---|---|---|---|
| Id | UltimoString(11) | EMLID | Nee | Uniek systeem-ID van het e-mailbericht (max. 11 tekens), de primaire sleutel | |
| CreatedEmployee | Employee | EMLCREATEDEMPID | Ja | USERID | Medewerker namens wie het bericht is aangemaakt; standaard de ingelogde gebruiker (USERID) |
| LastFailureTime | DateTime? | EMLLASTFAILURETIME | Ja | Tijdstip van de meest recente mislukte verzendpoging | |
| ProviderMutationDate | DateTime? | EMLPROVIDERMUTDATE | Ja | Laatste mutatiedatum vanuit een externe data-provider (bv. e-mail import via Exchange Online) | |
| RecordCreateDate | DateTime? | EMLRECCREATEDATE | Ja | SYSDATETIME | Aanmaaktijdstip van het e-mailrecord; automatisch gevuld via database-default |
| Sender | Employee | EMLFROMEMPID | Ja | Medewerker die als afzender (From) van het bericht wordt vermeld |
|
| SendTime | DateTime? | EMLSENDTIME | Ja | Tijdstip waarop het bericht daadwerkelijk is verzonden door de e-mailserver-service | |
| SystemCompany | Company | EMLCOMPID | Nee | Bedrijf waartoe dit e-mailbericht behoort (verplicht) | |
| BCC | UltimoString | EMLBCC | Ja | Blind-carbon-copy ontvangers (kommagescheiden e-mailadressen) | |
| Body | UltimoString | EMLBODY | Ja | Inhoud van het e-mailbericht; kan HTML bevatten als IsBodyHtml = true |
|
| CC | UltimoString | EMLCC | Ja | Carbon-copy ontvangers (kommagescheiden e-mailadressen) | |
| Context | Context | EMLCONTEXT | Nee | Context van het bericht: Email (1 = standaard uitgaand bericht) of None |
|
| DataProvider | UltimoString(50) | EMLDATAPROVIDER | Ja | Identificatie van de externe provider die dit bericht heeft aangeleverd (bv. Exchange Online koppeling) | |
| ErrorMessage | UltimoString | EMLERRORMESSAGE | Ja | Foutmelding van de laatste mislukte verzendpoging; leeg bij succesvolle verzending | |
| ExternalId | UltimoString(50) | EMLEXTERNALID | Ja | ID van het bericht in een extern systeem (bv. Message-ID van de ontvangen e-mail) | |
| ExternalStatus | UltimoString(50) | EMLEXTERNALSTATUS | Ja | Status van het bericht in het externe bronsysteem | |
| FailedCount | Int32 | EMLFAILEDCOUNT | Nee | 0 | Aantal opeenvolgende mislukte verzendpogingen; wordt gereset bij succesvolle verzending |
| From | UltimoString(255) | EMLFROM | Ja | Afzender-e-mailadres zoals dat in de berichtheader verschijnt | |
| IsBodyHtml | Boolean | EMLISBODYHTML | Nee | 0 | Of de Body als HTML moet worden geïnterpreteerd (standaard false = platte tekst) |
| Status | Status | EMLRECSTATUS | Nee | Huidige verzendstatus: Te verzenden (1), Verzonden (2), Mislukt (8), Genegeerd (64), etc. | |
| Subject | UltimoString(500) | EMLSUBJECT | Ja | Onderwerpregel van het e-mailbericht | |
| To | UltimoString | EMLTO | Ja | Primaire ontvanger(s) (kommagescheiden e-mailadressen) | |
| TransferNextTime | Boolean | EMLTRANSFERNEXTTIME | Nee | 0 | Indien actief, wordt het bericht bij de volgende verwerkingscyclus opnieuw aangeboden voor verzending |
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Nullable |
|---|---|---|
| CreatedEmployee | Employee | Ja |
| Sender | Employee | Ja |
| SystemCompany | Company | Nee |
Onderliggende / verwijzende entiteiten (1-op-veel)bewerken
De volgende entiteiten verwijzen naar Email:
| Entiteit | Via property |
|---|---|
| EmailAttachment | Id.Email |
| EmailRecipient | Id.Email |
| EmailSubject | Id.Email |
| ObjectDocument |
Tips voor consultantsbewerken
- Wachtrij-architectuur: Email-records worden door de
<Email>-workflow-instructie aangemaakt met statusDraft(1 = Te verzenden). Een achtergrondservice pikt ze op en zet ze opSent(2) ofFailed(8). Controleer de wachtrij in de UCT als berichten niet aankomen. - FailedCount en ToBeSentAfterError: Bij een verzendingsfout zet Ultimo de status op
Failed(8) en verhoogtFailedCount. ZetTransferNextTime = trueof de status handmatig terug naarDraftom een herpoging te forceren. Status 4 (ToBeSentAfterError) wordt automatisch gezet door Ultimo voor geplande herpogingen. - HTML vs. platte tekst: Stel
IsBodyHtml = truein als de workflow HTML-opmaak meestuurt (tabellen, kleuren). Bij platte tekst is HTML onnodig en kan opmaak als ruwe tags zichtbaar worden. - EmailAttachment en EmailRecipient: Bijlagen worden opgeslagen in de gekoppelde
EmailAttachment-records; meerdere ontvangers (inclusief To/CC/BCC) staan inEmailRecipient. DeTo/CC/BCC-velden op de entiteit zelf zijn soms leeg als de ontvangers uitsluitend via de subrecords zijn vastgelegd. - Exchange Online koppeling: Via de Exchange Online-integratie kunnen inkomende e-mails worden ingelezen en omgezet naar jobs via een
EmailServerAccount-configuratie. In dat geval worden Email-records aangemaakt metDataProviderenExternalIdgevuld. - ObjectDocument koppeling: Een e-mailbericht kan als bijlage worden gekoppeld aan een object via ObjectDocument.Email, zodat correspondentie traceerbaar is in de jobhistorie of op het equipment.
Database Detailsbewerken
De tabel dba.Email bevat 24 kolommen, 0 eigen trigger(s), 0 externe triggers en 3 foreign keys.
Belangrijke defaultsbewerken
| Kolom | Default |
|---|---|
EmlContext |
0 |
EmlRecStatus |
0 |
EmlFailedCount |
0 |
EmlIsBodyHtml |
0 |
EmlRecCreateDate |
sysdatetimeoffset() |
EmlTransferNextTime |
0 |
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("Email")· reference/entities/Email Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("Email")· reference/tables/Email Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="Email")Alle Before/After Save events en andere workflow-ActionFields. Bron:workflows.xml.
Zie ookbewerken
- workflow-engine - Workflows die e-mails aanmaken via de
<Email>-instructie - employee - Medewerkers die als afzender of aanmaker van berichten worden vermeld
- object-document - Koppeling van e-mailberichten als bijlage aan objecten
- text-templates - Tekstsjablonen die als body voor e-mailberichten worden gebruikt
- workflow-instructies - Technische documentatie van de
<Email>workflow-instructie - messages - Gerelateerd berichten-beheer binnen Ultimo