Skip to content

Commit e136571

Browse files
Added main domain model entity and their attributes info
1 parent c228f2f commit e136571

1 file changed

Lines changed: 134 additions & 31 deletions

File tree

content/en/docs/marketplace/platform-supported-content/modules/email-connector.md

Lines changed: 134 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,7 @@ If you already have these widgets in your app, and they are not up to date, you
8484

8585
## Setting up the Email Connector in Studio Pro {#setup}
8686

87-
The **Email_Connector_Overview** page which you added to the navigation launches the user interface which allows you to configure email accounts. This overview page provides access to configure and manage the following configurations and settings:
8887

89-
* **Send Email**
90-
* **Receive Email**
91-
* **Templates**
92-
* **Configure OAuth**
9388

9489
### Configuring Roles
9590

@@ -99,10 +94,117 @@ The module includes a default **EmailConnectorAdmin** module role with pre-confi
9994

10095
The Email Connector provides building blocks that you assemble to create email functionality:
10196

102-
103-
#### Entities {#entities}
104-
105-
You can find the entities and their associations in the domain model of the Email Connector.
97+
#### Domain Model {#domain-model}
98+
99+
The domain model in Mendix is a data model that describes the information in your application domain in an abstract way. For more general information, see the [Data in the Domain Model](/refguide/domain-model/) documentation. To learn more about entities and their associations in the domain model of the Email Connector see the section below.
100+
101+
##### EmailAccount {#email-account}
102+
103+
Entity managing email account configurations, authentication methods, and security settings for both incoming and outgoing email operations.
104+
105+
| Attribute | Description |
106+
|------------------------------|----------------------------------------------------------------|
107+
| Username | Account login credentials for email server authentication |
108+
| MailAddress | Primary email address associated with the account |
109+
| Password | Authentication password (used when isOAuthUsed is false) |
110+
| Timeout | Server connection timeout in seconds |
111+
| sanitizeEmailBodyForXSSSc... | Prevents XSS attacks by sanitizing email content |
112+
| isP12Configured | Indicates P12 certificate configuration for digital signatures |
113+
| isLDAPConfigured | Indicates LDAP directory service integration status |
114+
| isIncomingEmailConfigure... | Indicates if email account is configured for retrieve emails |
115+
| isOutgoingEmailConfigure... | Indicates if email account is configured for send emails |
116+
| FromDisplayName | Sender display name for outgoing emails |
117+
| UseSSLCheckServerIdentity... | Enables SSL certificate verification for secure connections |
118+
| IsSharedMailbox | Designates account as shared mailbox with delegated access |
119+
| isOAuthUsed | Indicates OAuth 2.0 authentication method is enabled |
120+
| isEmailConfigAutoDetect | Enables automatic server configuration discovery |
121+
122+
##### IncomingEmailConfiguration {#incoming-email-configuration}
123+
124+
Configuration entity managing email retrieval settings, processing options, and server connection parameters for incoming messages.
125+
126+
| Attribute | Description |
127+
|--------------------|---------------------------------------------------|
128+
| IncomingProtocol | Email retrieval protocol (IMAP/POP3) |
129+
| Folder | Server folder for email retrieval |
130+
| UseBatchImport | Enables batch processing for large email volumes |
131+
| BatchSize | Number of emails processed per batch operation |
132+
| Handling | Post-retrieval action (keep, move, delete emails) |
133+
| MoveFolder | Destination folder for processed emails |
134+
| ProcessInlineImage | Processes embedded images in email content |
135+
| FetchStrategy | Email retrieval method (Latest, Oldest |
136+
| NotifyOnNewEmails | Triggers notifications for incoming emails |
137+
| ServerHost | Incoming mail server hostname or IP address |
138+
| ServerPort | Incoming mail server port |
139+
140+
141+
##### OutgoingEmailConfiguration {#outgoing-email-configuration}
142+
143+
Configuration entity defining Send Protocol settings, security protocols, and reliability options for sending emails.
144+
145+
| Attribute | Description |
146+
|------------------|------------------------------------------------------|
147+
| OutgoingProtocol | Email sending protocol (SMTP) |
148+
| SSL | Enables SSL encryption for secure email transmission |
149+
| TLS | Enables TLS encryption for enhanced security |
150+
| SendMaxAttempts | Maximum retry attempts for failed email sends |
151+
| ServerHost | Send email hostname or IP address |
152+
| ServerPort | Send email server port |
153+
154+
##### EmailMessage {#email-message}
155+
156+
Entity representing individual email messages with complete metadata, content, and processing status tracking. This entity is used for both sending and receiving emails.
157+
158+
| Attribute | Description |
159+
|-------------------|-------------------------------------------------------------------|
160+
| Subject | Email subject line text |
161+
| SentDate | Original send timestamp from email headers |
162+
| RetrieveDate | Local retrieval timestamp |
163+
| From | Sender's email address |
164+
| To | Primary recipient email addresses (comma-separated) |
165+
| CC | Carbon copy recipients (visible to all recipients) |
166+
| BCC | Blind carbon copy recipients (hidden from other recipients) |
167+
| Content | Rich HTML email body content |
168+
| UseOnlyPlainText | Forces plain text format, disabling HTML |
169+
| hasAttachments | Indicates presence of file attachments |
170+
| Size | Total email size including attachments (bytes) |
171+
| FromDisplayName | Sender's friendly display name |
172+
| ReplyTo | Alternative reply address if different from sender |
173+
| PlainBody | Plain text version of email content |
174+
| QueuedForSending | Marks email for outbound processing queue |
175+
| ResendAttempts | Tracks retry attempts for failed sends |
176+
| LastSendError | Stores error message from last failed send attempt |
177+
| LastSendAttemptAt | Timestamp of most recent send attempt |
178+
| Status | Current processing status (Queued, Sent, Failed, Error, Received) |
179+
| isSigned | Indicates digital signature application |
180+
| isEncrypted | Enables encryption for email |
181+
182+
##### EmailTemplate {#email-template}
183+
184+
Entity enabling reusable email designs with dynamic content placeholders for consistent and efficient messaging.
185+
186+
| Attribute | Description |
187+
|------------------|--------------------------------------------------------|
188+
| TemplateName | Unique template identifier for selection |
189+
| CreationDate | Template creation timestamp |
190+
| Subject | Email subject line text |
191+
| SentDate | Last usage timestamp for template |
192+
| FromAddress | Default sender email address for template |
193+
| To | Primary recipient email addresses |
194+
| CC | Default carbon copy recipients |
195+
| BCC | Default blind carbon copy recipients |
196+
| Content | HTML template with dynamic placeholder tokens |
197+
| UseOnlyPlainText | Restricts template to plain text format |
198+
| hasAttachment | Indicates default attachment inclusion |
199+
| ReplyTo | Default reply-to address for template emails |
200+
| PlainBody | Plain text version of template content |
201+
| FromDisplayName | Default sender display name |
202+
| Signed | Applies digital signature to template-generated emails |
203+
| Encrypted | Enables encryption for template-based emails |
204+
205+
##### Attachment {#attachment}
206+
207+
Specialized file attachment entity extending Mendix **System.FileDocument** to provide comprehensive file handling capabilities for email communications.
106208

107209
#### Snippets {#snippets}
108210

@@ -117,8 +219,8 @@ Snippets allow you to make interface changes in one place that automatically app
117219

118220
##### Account Management
119221

120-
* **SNIP_EmailAccount_SendAccountSettings** - Configure outgoing email account settings and preferences
121-
* **SNIP_EmailAccount_ReceiveAccountSettings** - Configure incoming email account settings and preferences
222+
* **SNIP_EmailAccount_SendAccountSettings** - Configure outgoing **EmailAccount** settings and preferences
223+
* **SNIP_EmailAccount_ReceiveAccountSettings** - Configure incoming **EmailAccount** settings and preferences
122224

123225
##### Email Operations
124226

@@ -138,8 +240,8 @@ The Email Connector module contains a number of pre-written microflows which you
138240

139241
##### Core Microflows
140242

141-
* **SUB_SendEmail** - Send emails using selected email account
142-
* **SUB_RetrieveEmails** - Fetch emails from selected email account
243+
* **SUB_SendEmail** - Send emails using selected **EmailAccount**
244+
* **SUB_RetrieveEmails** - Fetch emails from selected **EmailAccount**
143245
* **SUB_EmailAccount_CheckServerConnection** - Validate email server connectivity and account configuration
144246

145247
##### Sample Microflows
@@ -157,12 +259,20 @@ The Email Connector module contains a number of Java actions which you can use t
157259
* **GetFolderNames** - Retrieve available email folders from the server
158260
* **GetBaseDNList** - Get directory service base distinguished names for LDAP integration
159261

262+
263+
The **Email_Connector_Overview** page which you added to the navigation launches the user interface which allows you to configure email accounts. This overview page provides access to configure and manage the following configurations and settings:
264+
265+
* **Send Email**
266+
* **Receive Email**
267+
* **Templates**
268+
* **Configure OAuth**
269+
160270
## Send Email {#send-email}
161271

162272
1. Deploy your application to set up your **Send Email** accounts through the Email Connector user interface.
163-
1. Navigate to the **Email Connector Overview** page.
164-
1. Select the **Send Email** tab.
165-
1. Click **Add New Configuration** or edit an existing one using the **Action**.
273+
2. Navigate to the **Email Connector Overview** page.
274+
3. Select the **Send Email** tab.
275+
4. Click **Add New Configuration** or edit an existing one using the **Action**.
166276

167277
You can now set up your account for sending email by providing the following details:
168278

@@ -380,17 +490,17 @@ You can view and change the following settings by clicking **View Settings** as
380490

381491
### Receiving Email
382492

383-
When modeling your app in Studio Pro, use the RetrieveEmailMessages Java action. Once this Java action is called in the background, emails are fetched over multiple Java threads and returned asynchronously. Email fetching continues until the conditions defined in the email account settings are met. For example, you could set the app to fetch the latest 1,000 emails. For more information, see Additional Account Settings.
493+
To receive emails in your Mendix app, use the **RetrieveEmailMessages** Java action. This action fetches emails asynchronously in batches using multiple threads and returns a list of **EmailMessage** objects. Email retrieval continues until the criteria specified in the email account settings are met (for example, fetching the latest 1,000 emails). For details, see Additional Account Settings.
384494

385495
The input parameters for receiving email are the following:
386496

387497
* **EmailAccount** – This is an email account consisting of the incoming email configuration.
388498

389-
* **onEmailFetchMicroflow**** – This is a microflow that is triggered when List of EmailMessage is fetched from the email server, as per the batch size specified in the email account settings. You can process the list according to your needs.
499+
* **onEmailFetchMicroflow**** – This is a microflow that is triggered when List of **EmailMessage** is fetched from the email server, as per the batch size specified in the email account settings. You can process the list according to your needs.
390500

391501
{{% alert color="warning" %}}If duplicating the **onEmailFetchMicroflow** microflow, do not change the input parameter name or data type. To prevent errors, make sure you have **List of Email_Connector.EmailMessage** as a parameter to this microflow.{{% /alert %}}
392502

393-
* **onFetchCompleteMicroflow** – This is a microflow that is triggered when the fetch action is successfully completed.
503+
* **onFetchCompleteMicroflow** – This is a microflow that is triggered when the email fetch action is successfully completed.
394504

395505
* **onFetchErrorMicroflow** – This is a microflow that is triggered if there are errors while fetching from the email server.
396506

@@ -401,7 +511,10 @@ This tab displays a list of any log entries related to errors in the Email Conne
401511

402512
## Configure OAuth {#oauth-config-details}
403513

404-
Configure your email account to authenticate using Microsoft Entra ID OAuth 2.0. Multiple OAuth 2.0 providers can be configured within a single application.
514+
1. Deploy your application to set up your **OAuth Configuration** through the Email Connector user interface.
515+
2. Navigate to the **Email Connector Overview** page.
516+
3. Select the **Configure OAuth** tab.
517+
4. Click **Add New Configuration** or edit an existing one using the **Action**.
405518

406519
The Email Connector supports two sorts of OAuth authentication. Under **Choose Authentication** select one of the following:
407520

@@ -506,7 +619,7 @@ Admin status is given on the added API permissions. The tenant admin must regist
506619

507620
1. Deploy your application to set up your **Email Templates** through the Email Connector user interface.
508621
2. Navigate to the **Email Connector Overview** page.
509-
3. Select the **Templates** tab.
622+
3. Select the **Email Templates** tab.
510623
4. Click **Add New Template** or edit an existing one using the **Action**.
511624

512625
{{% alert color="info" %}} The [Mx Model Reflection](/appstore/modules/model-reflection/) must be installed and properly configured in your app prior to creating placeholder tokens and before exporting/importing email templates containing placeholder tokens.{{% /alert %}}
@@ -571,16 +684,6 @@ Gmail no longer supports basic authentication (usernames and password). However,
571684
1. Read [Less secure apps & your Google Account](https://support.google.com/accounts/answer/6010255) and turn off the **Less secure app access** setting in your Google account.
572685
2. Set up an app password to sign in to the Email Connector. For more information, see [Sign in with app passwords](https://support.google.com/accounts/answer/185833).
573686

574-
### Adding OAuth 2.0 Configuration to an App with Basic Authentication
575-
576-
If you already have an email account configured using basic authentication in your app, and you want to use OAuth 2.0 authentication without removing that email account, do the following:
577-
578-
1. On the overview page, click **Configure OAuth** and add a new configuration. For more information, see [OAuth Provider Configuration Details](#oauth-config-details).
579-
2. For the desired email account, set the **isOAuthUsed** attribute of the **EmailAccount** entity to **True**.
580-
3. Associate the email account with your newly created OAuth provider.
581-
4. Navigate to the overview page, click **Manage Accounts**, and select the account.
582-
5. Go to the **Server Settings** tab in **Account Settings** and select **Re-authenticate Access**.
583-
584687
### Deprecation of Basic authentication in Microsoft Exchange Online
585688

586689
As of October 1, 2022, Microsoft has deprecated Basic Authentication, and it is no longer supported in Exchange Online, promoting Modern Authentication (OAuth 2.0) for enhanced security. From that date, Microsoft started disabling Basic Authentication for the following protocols:

0 commit comments

Comments
 (0)