README

go-msgauth

GoDoc Build Status

A Go library to create and parse Authentication-Results header fields.

Usage

// Format
results := []msgauth.Result{
	&msgauth.SPFResult{Value: msgauth.ResultPass, From: "example.net"},
	&msgauth.AuthResult{Value: msgauth.ResultPass, Auth: "sender@example.com"},
}
s := msgauth.Format("example.com", results)
log.Println(s)

// Parse
identifier, results, err := msgauth.Parse(s)
if err != nil {
	log.Fatal(err)
}

log.Println(identifier, results)

License

MIT

Expand ▾ Collapse ▴

Documentation

Overview

Package msgauth parses and formats Authentication-Results

Authentication-Results header fields are standardized in RFC 7601.

Index

Constants

View Source
const (
	ResultNone      ResultValue = "none"
	ResultPass                  = "pass"
	ResultFail                  = "fail"
	ResultPolicy                = "policy"
	ResultNeutral               = "neutral"
	ResultTempError             = "temperror"
	ResultPermError             = "permerror"
	ResultHardFail              = "hardfail"
	ResultSoftFail              = "softfail"
)

Variables

This section is empty.

Functions

func Format

func Format(identity string, results []Result) string

Format formats an Authentication-Results header.

Types

type AuthResult

type AuthResult struct {
	Value ResultValue
	Auth  string
}

type DKIMResult

type DKIMResult struct {
	Value      ResultValue
	Domain     string
	Identifier string
}

type DomainKeysResult

type DomainKeysResult struct {
	Value  ResultValue
	Domain string
	From   string
	Sender string
}

type GenericResult

type GenericResult struct {
	Method string
	Value  ResultValue
	Params map[string]string
}

type IPRevResult

type IPRevResult struct {
	Value ResultValue
	IP    string
}

type Result

type Result interface {
	// contains filtered or unexported methods
}

Result is an authentication result.

func Parse

func Parse(v string) (identifier string, results []Result, err error)

Parse parses the provided Authentication-Results header field. It returns the authentication service identifier and authentication results.

type ResultValue

type ResultValue string

ResultValue is an authentication result value, as defined in RFC 5451 section 6.3.

type SPFResult

type SPFResult struct {
	Value ResultValue
	From  string
	Helo  string
}

type SenderIDResult

type SenderIDResult struct {
	Value       ResultValue
	HeaderKey   string
	HeaderValue string
}