gophish: Index | Files

package worker

import ""

Package worker contains the functionality for the background worker process. It starts a background service that polls every minute for scheduled campaigns to be launched. If a campaign is found, it gathers the maillogs associated with the campaign and sends them to the mailer package to be processed.


Package Files

doc.go worker.go

func WithMailer Uses

func WithMailer(m mailer.Mailer) func(*DefaultWorker) error

WithMailer sets the mailer for a given worker. By default, workers use a standard, default mailworker.

type DefaultWorker Uses

type DefaultWorker struct {
    // contains filtered or unexported fields

DefaultWorker is the background worker that handles watching for new campaigns and sending emails appropriately.

func (*DefaultWorker) LaunchCampaign Uses

func (w *DefaultWorker) LaunchCampaign(c models.Campaign)

LaunchCampaign starts a campaign

func (*DefaultWorker) SendTestEmail Uses

func (w *DefaultWorker) SendTestEmail(s *models.EmailRequest) error

SendTestEmail sends a test email

func (*DefaultWorker) Start Uses

func (w *DefaultWorker) Start()

Start launches the worker to poll the database every minute for any pending maillogs that need to be processed.

type Worker Uses

type Worker interface {
    LaunchCampaign(c models.Campaign)
    SendTestEmail(s *models.EmailRequest) error

Worker is an interface that defines the operations needed for a background worker

func New Uses

func New(options ...func(Worker) error) (Worker, error)

New creates a new worker object to handle the creation of campaigns

Package worker imports 6 packages (graph) and is imported by 17 packages. Updated 2020-05-26. Refresh now. Tools for package owners.