JSON Configuration File
To customize the behavior of the Enki Outlook Classic Add-in, you can use a JSON configuration file. Create a file named config.json and place it in the add-in's installation folder.
Example Configuration File
{
"reportSpam": true,
"promptSendToExternal": true,
"spamReportConfig": {
"buttonText": "Spam Report",
"contextMenuText": "Spam Report",
"promptMsg": "Are you sure you want to report this email?",
"icon": "icon.png",
"promptType": "simple",
"completePrompt": "Thank you for reporting suspicious email!",
"submitTo": "security@email",
"promptSend": false,
"deleteSentItem": false,
"deleteOriginal": true,
"exportType": "eml",
},
"spamReportRules": [
{
"type": "headerExists",
"value": "X-Mailer",
"submitTo": "it.security@email",
"completePrompt": "Thank you for reporting suspicious email!"
}
],
"externalPromptConfig": {
"promptType": "simple",
"promptMsg": "You are sending the email to $$externalcount$$ external recipients, are you sure to send this email?",
"useGALCheck": true,
"useSmtpDomainCheck": false,
"externalSmtpDomains": [ ],
"internalSmtpDomains": [ ],
"resultHeader": "X-Enki-Result"
}
}
Configuration Options
| Parameter | Type | Description |
|---|---|---|
| exportType | string | Specifies the file format for the reported email. The value could be "eml" or "msg". |
| reportSpam | bool | Specify if enable spam report functionalities. |
| promptSendToExternal | bool | Specify if enable send to external warning functionalities. |
| spamReportConfig | object | Specify the configuration of the spam reporting function. |
| spamReportRules | list | Specify the override rules of the spam reporting function. |
| externalPromptConfig | object | Specify the configuration of the external recipient prompt function. |
Spam Report Configuration
| Parameter | Type | Description |
|---|---|---|
buttonText | string | The text displayed on the main reporting button. |
contextMenuText | string | The text displayed in the right-click context menu for reporting. |
promptMsg | string | The message shown in the confirmation prompt. |
icon | string | The file name or full path for the button's icon image. Supported format are PNG, ICO, BMP |
promptType | string | The style or complexity of the prompt dialog. Possible values are: simple, detail |
completePrompt | string | The standard success message shown after a report is successfully sent and no specific rule is matched. |
includeSmtpHeader | bool | If true, the SMTP header of reported email will be automatically inserted as part of the report email body . |
includeSmtpHeaderAsAttachment | string | If true, and includeSmtpHeader is true, the SMTP header of reported email will be inserted as a text file attachment as part of the report email body . |
emailSubject | string | The subject of the report email. Support placeholder insertion. |
submitTo | string | The email address where reported emails are sent. Replace "security@email.com" with your team's address. |
promptSend | boolean | When set to true, this requires a user to manually send any email after being prompted about an external or unapproved recipient. |
deleteSentItem | boolean | If true, the reported email will be automatically deleted from the user's Sent Items folder. |
deleteOriginal | boolean | If true, the reported email will be automatically deleted from the user's Inbox after it is reported. |
exportType | string | Specifies the file format for the reported email. The value could be "eml" or "msg". |
External Prompt Configurations
| Parameter | Type | Description |
|---|---|---|
promptType | string | Specifies the style or complexity of the warning dialog box that is displayed to the user. |
promptMsg | string | The message displayed to the user. Support different placeholders listed in this document. |
useGALCheck | boolean | Global Address List (GAL) Check: If set to true, the system will check if a recipient's address exists in the organization's GAL. If it's not in the GAL, it's considered external. |
useSmtpDomainCheck | boolean | SMTP Domain Check: If set to true, the system will use the lists of internal/external domains to determine recipient status. This is the primary domain-based check. |
externalSmtpDomains | list | A list of specific domains that, even if they pass other checks, should always be explicitly counted as external for the purpose of triggering this prompt. |
internalSmtpDomains | list | A list of domains that are considered internal (part of the organization) and will not count towards the external recipient count. |
resultHeader | string | The name of the custom email header that is added to the message after the prompt action is taken. This header is typically used by downstream mail systems to log or track the user's decision (e.g., whether they proceeded with the send). |
Note that the Add-In will assume all email recipients are internal when
useSmtpDomainCheckistrueand bothexternalSmtpDomainsandinternalSmtpDomainsare empty.
Spam Report Prompt Override Rules
All the rules are evaluated in the order they specified in the config file.
| Parameter | Type | Description |
|---|---|---|
type | string | The condition for this rule: check if a specific email header exists. Supported values are headerExists,headerNotExists,headerValue |
value | string | The specific header being checked for. If the email contains the header specified in value, this rule is triggered. |
submitTo | string | The submission address for this specific rule (overrides the general submitTo if it were different, but here it's the same). |
completePrompt | string | The special success message displayed when this rule is matched. This is the key indicator that the rule is for a phishing simulation exercise. |
additionalInfoContent | string | The text content that goes to additional info part of the report email. |
Common Email Reporting Placeholders
| Placeholder | Description | Example Value |
|---|---|---|
$$subject$$ | The subject line of the original email that the user reported. | "Invoice overdue notice" |
External Prompt Placeholders
| Placeholder | Description | Example Value |
|---|---|---|
$$externalcount$$ | The number of recipient that determined as external recipient. | 2 |
$$internalcount$$ | The number of recipient that determined as internal recipient. | 4 |
$$totalcount$$ | The total number of recipient | 6 |