44 "fmt"
55 "net"
66 "os"
7+ "strings"
78
89 "github.com/aws/aws-sdk-go/aws"
910 "github.com/aws/aws-sdk-go/aws/awserr"
@@ -47,7 +48,7 @@ func (d *Domain) getARecords() []string {
4748 return ipListString
4849}
4950
50- func (d * Domain ) Check () bool {
51+ func (d * Domain ) Check () ( bool , [] string ) {
5152
5253 var resolvedTarget []string
5354 resolvedTarget = append (resolvedTarget , d .getARecords ()... )
@@ -56,17 +57,17 @@ func (d *Domain) Check() bool {
5657 for _ , t := range d .Target {
5758 if slices .Contains (resolvedTarget , t ) {
5859 logger .Println (d .Name , "targets" , t )
59- return true
60+ return true , resolvedTarget
6061 }
6162 }
62- return false
63+ return false , resolvedTarget
6364}
6465
6566func checkDNSTarget (domain Domain , ses SES ) {
6667 logger .Infof ("checking %s" , domain .Name )
67- if ! domain .Check () {
68+ if ok , resolvedList := domain .Check (); ! ok {
6869 logger .Errorf ("%s is not pointing to %s" , domain .Name , domain .Target )
69- sendEmail (Subject (domain , ses ), HtmlBody (domain , ses ), TextBody (domain , ses ), ses )
70+ sendEmail (Subject (domain , ses ), HtmlBody (domain , ses , resolvedList ), TextBody (domain , ses , resolvedList ), ses )
7071 }
7172}
7273
@@ -82,11 +83,11 @@ const (
8283func Subject (d Domain , ses SES ) string {
8384 return fmt .Sprintf (ses .Subject , d .Name )
8485}
85- func HtmlBody (d Domain , ses SES ) string {
86- return fmt .Sprintf (ses .HtmlBody , d .Name )
86+ func HtmlBody (d Domain , ses SES , resolvedList [] string ) string {
87+ return fmt .Sprintf (ses .HtmlBody , d .Name , strings . Join ( resolvedList , "," ) )
8788}
88- func TextBody (d Domain , ses SES ) string {
89- return fmt .Sprintf (ses .Body , d .Name )
89+ func TextBody (d Domain , ses SES , resolvedList [] string ) string {
90+ return fmt .Sprintf (ses .Body , d .Name , strings . Join ( resolvedList , "," ) )
9091}
9192
9293func sendEmail (subject , htmlBody , body string , s SES ) {
0 commit comments