-- Track IMAP messages already processed (avoid duplicate replies)

CREATE TABLE IF NOT EXISTS email_imap_processed (
  id BIGINT AUTO_INCREMENT PRIMARY KEY,
  mailbox_key VARCHAR(255) NOT NULL,
  imap_uid INT UNSIGNED NOT NULL,
  message_id VARCHAR(512) NULL,
  campaign_id INT NULL,
  reply_id BIGINT NULL,
  processed_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY uq_imap_mailbox_uid (mailbox_key, imap_uid),
  INDEX idx_imap_message_id (message_id(191))
);
