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.

NameDefault ValueAllowable ValuesDescription
Listening PortThe 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 connection1The maximum number of simultaneous SMTP connections.
SMTP connection timeout60 secondsThe maximum time to wait for an action of SMTP client.
SMTP Maximum Message Size20 MBThe maximum number of bytes the server will accept.
SSL Context ServiceController Service API:
Implementation: StandardRestrictedSSLContextService
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 hostnameThe hostname to be embedded into the banner displayed when an SMTP client connects to the processor TCP port .


successAll new messages will be routed as FlowFiles to this relationship

Reads Attributes:

None specified.

Writes Attributes:

smtp.heloThe value used during HELO
smtp.certificates.*.serialThe serial numbers for each of the certificates used by an TLS peer
smtp.certificates.*.principalThe principal for each of the certificates used by an TLS peer
smtp.srcThe source IP and port of the SMTP connection
smtp.fromThe value used during MAIL FROM (i.e. envelope)
smtp.recipient.*The values used during RCPT TO (i.e. envelope)
mime.typeMime type of the message

State management:

This component does not store state.


This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.

System Resource Considerations:

None specified.