@extends('layouts.app') @section('title', 'Campaign: '.$campaign->name) @section('content')
@csrf @method('PUT') {{-- Wizard steps --}} {{-- Step 1: details --}}

Campaign details

{{-- Step 2: audience --}}

Who receives this campaign?

≈ eligible recipients (after removing suppressed, unsubscribed, bounced and invalid contacts). Save first if you just changed the audience.

{{-- Step 3: content --}}

Email content

Choosing a template copies a snapshot into this campaign — later template edits will not change it. Manage templates →

Personalization variables like @{{first_name|there}} and @{{unsubscribe_url}} are supported. A compliant unsubscribe footer is appended automatically if missing.

{{-- Step 4: sender --}}

Sender identity

Must be a verified address/domain at your email provider.

{{-- Step 5: sending speed --}}

Sending speed & retries

Leave blank to use the global defaults from Settings. Sending happens in small batches every cron run — conservative speeds protect your sender reputation.

{{-- Step 6: exclusions --}}

Exclusions & duplicate protection

0 disables cross-campaign protection. Duplicate sends inside this campaign are always prevented.

Comma-separated contact IDs (find them on each contact page).

@endsection