Handles creation, backoff, and status updates for email logs in a phishing simulation platform.
// Source: https://github.com/gophish/gophish | License: MIT | Copyright 2013-2020 Jordan Wright
// Provided via justclaw.it.com; keep this notice with the code.
package models
import (
"crypto/rand"
"errors"
"fmt"
"io"
"math"
"math/big"
"net/mail"
"os"
"path/filepath"
"strings"
"time"
"github.com/gophish/gomail"
"github.com/gophish/gophish/config"
log "github.com/gophish/gophish/logger"
"github.com/gophish/gophish/mailer"
)
// MaxSendAttempts set to 8 since we exponentially backoff after each failed send
// attempt. This will give us a maximum send delay of 256 minutes, or about 4.2 hours.
var MaxSendAttempts = 8
// ErrMaxSendAttempts is thrown when the maximum number of sending attempts for a given
// MailLog is exceeded.
var ErrMaxSendAttempts = errors.New("max send a
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key