dmarc

package
v0.6.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2024 License: MIT Imports: 6 Imported by: 4

Documentation

Overview

Package dmarc implements DMARC as specified in RFC 7489.

Index

Constants

View Source
const (
	PolicyNone       Policy = "none"
	PolicyQuarantine        = "quarantine"
	PolicyReject            = "reject"
)

Variables

View Source
var ErrNoPolicy = errors.New("dmarc: no policy found for domain")

Functions

func IsTempFail

func IsTempFail(err error) bool

IsTempFail returns true if the error returned by Lookup is a temporary failure.

Types

type AlignmentMode

type AlignmentMode string
const (
	AlignmentStrict  AlignmentMode = "s"
	AlignmentRelaxed               = "r"
)

type FailureOptions

type FailureOptions int
const (
	FailureAll  FailureOptions = 1 << iota // "0"
	FailureAny                             // "1"
	FailureDKIM                            // "d"
	FailureSPF                             // "s"
)

type LookupOptions added in v0.5.0

type LookupOptions struct {
	LookupTXT func(domain string) ([]string, error)
}

LookupOptions allows to customize the default signature verification behavior LookupTXT returns the DNS TXT records for the given domain name. If nil, net.LookupTXT is used

type Policy

type Policy string

type Record

type Record struct {
	DKIMAlignment      AlignmentMode  // "adkim"
	SPFAlignment       AlignmentMode  // "aspf"
	FailureOptions     FailureOptions // "fo"
	Policy             Policy         // "p"
	Percent            *int           // "pct"
	ReportFormat       []ReportFormat // "rf"
	ReportInterval     time.Duration  // "ri"
	ReportURIAggregate []string       // "rua"
	ReportURIFailure   []string       // "ruf"
	SubdomainPolicy    Policy         // "sp"
}

Record is a DMARC record, as defined in RFC 7489 section 6.3.

func Lookup

func Lookup(domain string) (*Record, error)

Lookup queries a DMARC record for a specified domain.

func LookupWithOptions added in v0.5.0

func LookupWithOptions(domain string, options *LookupOptions) (*Record, error)

func Parse added in v0.4.0

func Parse(txt string) (*Record, error)

type ReportFormat

type ReportFormat string
const (
	ReportFormatAFRF ReportFormat = "afrf"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL