mirror of
https://github.com/warmbly/warmbly.git
synced 2026-08-18 16:01:18 +00:00
33 lines
1.5 KiB
Go
33 lines
1.5 KiB
Go
package scheduler
|
|
|
|
import "errors"
|
|
|
|
var (
|
|
// ErrWarmupNotEnabled is returned when warmup is not enabled for an account
|
|
ErrWarmupNotEnabled = errors.New("warmup not enabled for this account")
|
|
|
|
// ErrCampaignNotActive is returned when a campaign is not active
|
|
ErrCampaignNotActive = errors.New("campaign is not active")
|
|
|
|
// ErrCampaignCompleted is returned when all emails in a campaign have been sent
|
|
ErrCampaignCompleted = errors.New("campaign completed - no more emails to send")
|
|
|
|
// ErrCampaignEnded is returned when a campaign has passed its end date
|
|
ErrCampaignEnded = errors.New("campaign ended - past end date")
|
|
|
|
// ErrNoEmailAccounts is returned when no email accounts are available for sending
|
|
ErrNoEmailAccounts = errors.New("no email accounts available for this campaign")
|
|
|
|
// ErrDailyLimitReached is returned when the daily limit has been reached
|
|
ErrDailyLimitReached = errors.New("daily email limit reached")
|
|
|
|
// ErrCampaignDeferred is returned when there IS a valid contact to send but
|
|
// no eligible mailbox right now — ESP-strict has no same-provider mailbox
|
|
// under budget, or the daily new-lead cap is reached. The caller must
|
|
// reschedule at the returned (defer) time WITHOUT sending. The returned pair
|
|
// is always nil on this path so it can never be mistaken for a sendable
|
|
// contact; the returned accountID is a nominal pool mailbox for the wakeup
|
|
// task only (the next invocation re-evaluates selection from scratch).
|
|
ErrCampaignDeferred = errors.New("campaign send deferred - no eligible mailbox for this contact right now")
|
|
)
|