This processor implements a lightweight SMTP server to an arbitrary port, allowing nifi to listen for incoming email. Note this server does not perform any email validation. If direct exposure to the internet is sought, it may be a better idea to use the combination of NiFi and an industrial scale MTA (e.g. Postfix). Threading for this processor is managed by the underlying smtp server used so the processor need not support more than one thread.


listen, email, smtp


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

Name Default Value Allowable Values Description
Listening Port The TCP port the ListenSMTP processor will bind to.NOTE that on Unix derivative operating systems this port must be higher than 1024 unless NiFi is running as with root user permissions.
Maximum number of SMTP connection 1 The maximum number of simultaneous SMTP connections.
SMTP connection timeout 60 seconds The maximum time to wait for an action of SMTP client.
SMTP Maximum Message Size 20 MB The maximum number of bytes the server will accept.
SSL Context Service Controller Service API:
The Controller Service to use in order to obtain an SSL Context. If this property is set, messages will be received over a secure connection.
Client Auth * NONE
The client authentication policy to use for the SSL Context. Only used if an SSL Context Service is provided.
SMTP hostname The hostname to be embedded into the banner displayed when an SMTP client connects to the processor TCP port .


Name Description
success All new messages will be routed as FlowFiles to this relationship

Reads Attributes:

None specified.

Writes Attributes:

Name Description
smtp.helo The value used during HELO
smtp.certificates.*.serial The serial numbers for each of the certificates used by an TLS peer
smtp.certificates.*.principal The principal for each of the certificates used by an TLS peer
smtp.src The source IP and port of the SMTP connection
smtp.from The value used during MAIL FROM (i.e. envelope)
smtp.recipient.* The values used during RCPT TO (i.e. envelope)
mime.type Mime type of the message

State management:

This component does not store state.


This component is not restricted.