Email Trigger
The Email trigger in Martini enables applications to react to email messages received on a mail server. Martini checks the configured email account periodically and triggers a specified service or workflow upon receiving new, unread emails.
Usage in Workflows
To learn how to setup and use the Email trigger in workflows, see Martini Workflows Trigger Nodes
Usage in Services
To learn how to setup and use the Email trigger in services, see Invoking Services via a Trigger
Properties
General Configuration
Refer to the general trigger configuration documentation for common properties applicable to all triggers.
Email-specific Configuration
| Property | Default | Description |
|---|---|---|
| Host | (required) | The email server to connect to. |
| Port | 993 |
The server port number. |
| Username | (required) | The email address used to login. |
| Password | (required) | The password used for login. |
| Polling Interval | 1 |
The interval in seconds for checking the inbox. |
| Use SSL | true |
Whether the connection uses SSL. |
| Type | IMAP |
The email protocol used (IMAP or POP3). |
| Delete email on receive | false |
If the email should be deleted after service or workflow invocation. |
| Send service or workflow response as reply | false |
If the service or workflow's output is used as a reply. |
| Send reply on error | false |
If exceptions thrown by the service or workflow are sent back as a reply. |
Reply Properties
When replying to emails, additional properties are required:
| Property | Default | Description |
|---|---|---|
| Host | (required) | The email server for sending replies. |
| Port | 465 |
The server port for SMTP. |
| Username | (required) | The email address for sending replies. |
| Password | (required) | The password for the reply email account. |
| From | (required) | The sender's email address. Uses 'Username' if not provided. |
| SSL/TLS | true |
Whether the connection for sending emails uses SSL/TLS. |
Parameters
| Name | Type | Description |
|---|---|---|
message |
javax.mail.Message |
The email message that triggered the trigger. |
to |
javax.mail.Address[] |
The recipients of the email. |
cc |
javax.mail.Address[] |
The CC'd addresses. |
bcc |
javax.mail.Address[] |
The BCC'd addresses. |
from |
javax.mail.Address[] |
The sender's address. |
fromAddress |
java.lang.String |
The first address in 'from'. |
replyTo |
javax.mail.Address[] |
Addresses for replies. |
subject |
java.lang.String |
The email's subject. |
headers |
java.util.List<javax.mail.Header> |
The email's headers. |
Additional variables are available if the message type is MimeMessage.
Examples
Groovy Script
Here's a Groovy script example that prints available variables in the context when the Email trigger is activated:
1 2 3 4 5 6 7 | |
When the trigger is activated by an incoming email, the console prints the variables and their values, helping to debug and understand the available data.
Groovy Method
The following Groovy method logs the content and name of each attachment from the received email:
1 2 3 4 5 6 7 8 | |
This method iterates over the attachments variable, logging the details of each attachment, useful for processing email content in a service or workflow.