mirror of
https://github.com/emersion/go-msgauth
synced 2026-07-03 22:28:32 +00:00
48 lines
742 B
Go
48 lines
742 B
Go
package dkim_test
|
|
|
|
import (
|
|
"bytes"
|
|
"crypto"
|
|
"log"
|
|
"strings"
|
|
|
|
"github.com/emersion/go-msgauth/dkim"
|
|
)
|
|
|
|
var (
|
|
mailString string
|
|
privateKey crypto.Signer
|
|
)
|
|
|
|
func ExampleSign() {
|
|
r := strings.NewReader(mailString)
|
|
|
|
options := &dkim.SignOptions{
|
|
Domain: "example.org",
|
|
Selector: "brisbane",
|
|
Signer: privateKey,
|
|
}
|
|
|
|
var b bytes.Buffer
|
|
if err := dkim.Sign(&b, r, options); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func ExampleVerify() {
|
|
r := strings.NewReader(mailString)
|
|
|
|
verifications, err := dkim.Verify(r)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
for _, v := range verifications {
|
|
if v.Err == nil {
|
|
log.Println("Valid signature for:", v.Domain)
|
|
} else {
|
|
log.Println("Invalid signature for:", v.Domain, v.Err)
|
|
}
|
|
}
|
|
}
|