# `PhoenixKit.Modules.Emails.EmailLogData`
[🔗](https://github.com/BeamLabEU/phoenix_kit_emails/blob/0.4.2/lib/phoenix_kit/modules/emails/email_log_data.ex#L1)

Struct representing extracted email data for logging.

Constructed in `Interceptor.extract_email_data/2` and passed to
`Emails.create_log/1` for persistence.

## Fields

- `message_id` - Unique message identifier
- `to` - Primary recipient email address
- `from` - Sender email address
- `subject` - Email subject line
- `headers` - Extracted email headers
- `body_preview` - Truncated body preview
- `body_full` - Full email body (when email_save_body is enabled)
- `attachments_count` - Number of attachments
- `size_bytes` - Estimated email size in bytes
- `template_name` - Template identifier if applicable
- `campaign_id` - Campaign identifier if applicable
- `user_uuid` - Associated user UUID
- `provider` - Email delivery provider name
- `integration_uuid` - Integrations connection the send resolved to (best effort)
- `configuration_set` - AWS SES configuration set name
- `message_tags` - Map of message tags

# `t`

```elixir
@type t() :: %PhoenixKit.Modules.Emails.EmailLogData{
  attachments_count: integer() | nil,
  body_full: String.t() | nil,
  body_preview: String.t() | nil,
  campaign_id: String.t() | nil,
  configuration_set: String.t() | nil,
  from: String.t(),
  headers: map() | nil,
  integration_uuid: String.t() | nil,
  locale: String.t() | nil,
  message_id: String.t(),
  message_tags: map() | nil,
  provider: String.t() | nil,
  size_bytes: integer() | nil,
  subject: String.t(),
  template_name: String.t() | nil,
  to: String.t(),
  user_uuid: String.t() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
