# Sending Emails by Data Operation

Email Notifications provide a simple way to send emails to app users, but, depending on your use case, their simplicity can be limiting. For more fine-tuned control over the senders and recipients of your emails, you'll need to use the [Send Email](../data-operations/the-send-email-data-operation) Data Operation.

> 📘 How are emails handled in Airkit? Emails get routed through Amazon SES and do not sit on Airkit servers. Mailboxes are also not hosted by Airkit and receiving emails are the responsibility of the mailbox owner. For more information see [App Security FAQ](../security-and-compliance/app-security-faq).

> 📘 Once an app is in production, is there a way to check on the status of the sent emails? The status of outgoing emails sent from all Apps within an Organization can be found in the Console, in the **Email** tab when examining an application under **App Health**. This provides insight into important information such as which and how many emails bounced, which and how many emails were marked as spam, and which and how many emails were delivered successfully. For more information, see [Console](../../console/console#app-health).

## The Send Email Data Operation

Like all [Data Operations](../data-operations/data-operation-overview), the Send Email Data Operation is accessible in the [Connections Builder](../studio/builder-bar/connections-builder). Once a [Data Flow](../studio/data-flows) that includes a Send Email Data Operation is created, it can be fired at any point by the [Run Data Flow](../actions/the-run-data-flow-action) Action.

## Defining email recipients

Unlike Email Notifications, which can only be sent to the Actor, the Send Email Data Operation allows you to customize the email recipient. The **To** property expects either a single email address or a list of email addresses, and it will send an email to every address given.

Email addresses can be either hardcoded or given as variables. Note that Data Flows are reusable connections that exist outside of an individual Journey, and so they do not have access to variable locally stored within Journey. All variables accessible to a Data Operation must either be given as input or returned by an earlier Data Operation. For more on how this works, see [Data Flows](../studio/data-flows). For more how to use the **To** property in the Send Email Data Operation, see the [Send Email](../data-operations/the-send-email-data-operation) Data Operation reference doc.

## Defining the sender

Unlike Email Notifications, which are automatically sent to the first listed email address in [Settings](../studio/builder-bar/settings), emails sent by Data Operation can be sent from any email address that had been associated with the application.

The **From** property provides a dropdown menu, from which you can select which of the available email addresses you want to use to send the email. The desired email address must be configured in Settings before it will be available for selection; see [Connecting Email Addresses](connecting-email-addresses) for a deeper discussion on how that's done.
