---
id: plugins-messaging
title: "Messaging"
summary: "The 5 plugins in Messaging: Mail client, Mail collector, Sms receiver and 2 more."
audience: user
keywords: "Smtp.MailClient, Smtp.MailCollector, SmsReceiver, SmsTransmitter, UssdServer"
---
# Messaging

Send and receive e-mail, SMS and USSD.

- **E-mail.** The **Mail client** sends a message over SMTP for every record; the **Mail collector** downloads
  messages from a mailbox over IMAP or POP3. Build mail bodies with the **Handlebars** plugin.
- **SMS and USSD** over SMPP, connected to your SMSC or SMS gateway. The **Sms transmitter** sends messages and splits
  long texts; the **Sms receiver** starts the flow for every incoming message and delivery report; the **Ussd server**
  answers USSD sessions from the flow.

```text
Timer → Mail collector → ... your logic → Handlebars → Mail client
Sms receiver → Decision router → ... → Sms transmitter
```

## Plugins

| Plugin | What it does | Pins |
|---|---|---|
| [Mail client](/documentation/plugins/messaging/smtp-mail-client) | Sends an e-mail over SMTP for every record it receives. The mail is either fully described by an incoming `SmtpMessage`, or built from the configuration (recipient, subject, body) with the body optionally taken from a `TextRecord`. Use it for notifications, reports and replies to collected mail. | `Input`, `Continue` |
| [Mail collector](/documentation/plugins/messaging/smtp-mail-collector) | Downloads e-mail from a mailbox over IMAP or POP3 and emits every message as a `SmtpMessage`. Trigger it periodically (for example from a timer) to process incoming mail, optionally deleting it from the server after processing. | `Start`, `Output`, `Continue` |
| [Sms receiver](/documentation/plugins/messaging/sms-receiver) | Connects to an SMSC or SMS gateway over SMPP and emits every incoming SMS (and delivery report) as a message. It is a listener: the flow keeps running while it is connected. | `Start`, `Output`, `DeliveryAck` |
| [Sms transmitter](/documentation/plugins/messaging/sms-transmitter) | Sends SMS messages to an SMSC or SMS gateway over SMPP. Long texts are split into concatenated parts automatically; several receivers can be given in one message. | `Input`, `Output`, `Continue` |
| [Ussd server](/documentation/plugins/messaging/ussd-server) | Implements a USSD application over SMPP: receives USSD requests from the SMSC/USSD gateway, emits them to the flow, and sends back the response messages the flow produces. Use it to build USSD menus (e.g. `*123#`). | `Start`, `Request`, `Response` |
