Skip to content

Commit

Permalink
Adds more logging (#7)
Browse files Browse the repository at this point in the history
* Adds more logging

* Fix typo
  • Loading branch information
kimpepper committed Feb 22, 2021
1 parent dc5cdba commit 6907b5f
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 10 deletions.
10 changes: 9 additions & 1 deletion internal/provider/mailhog/mailhog.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package mailhog

import (
"fmt"
"log"
"net/mail"
"net/smtp"

Expand All @@ -24,5 +26,11 @@ func Send(to []string, msg *mail.Message) error {
to = append(to, val...)
}

return smtp.SendMail(Addr, nil, From, to, data)
err = smtp.SendMail(Addr, nil, From, to, data)
if err != nil {
return fmt.Errorf("failed to send message via mailhog smtp %w", err)
}
log.Println("successfully sent message via mailhog smtp")

return nil
}
15 changes: 8 additions & 7 deletions internal/provider/ses/ses.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package ses

import (
"fmt"
"log"
"net/mail"

"github.com/skpr/mail/internal/mailutils"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ses"

"github.com/skpr/mail/internal/mailutils"
)

// AccessKeyPrefix is used when identifying if a credential is used for AWS IAM authentication.
Expand All @@ -25,7 +26,7 @@ func Send(region, username, password, from string, to []string, msg *mail.Messag

sess, err := session.NewSession(config)
if err != nil {
return err
return fmt.Errorf("failed to create new aws session: %w", err)
}

if val, ok := msg.Header[mailutils.HeaderTo]; ok {
Expand All @@ -35,12 +36,12 @@ func Send(region, username, password, from string, to []string, msg *mail.Messag

err = mailutils.EnforceFrom(msg, from)
if err != nil {
return err
return fmt.Errorf("failed to set from header: %w", err)
}

data, err := mailutils.MessageToBytes(msg)
if err != nil {
return err
return fmt.Errorf("failed to convert message to bytes: %w", err)
}

input := &ses.SendRawEmailInput{
Expand All @@ -52,10 +53,10 @@ func Send(region, username, password, from string, to []string, msg *mail.Messag

output, err := ses.New(sess).SendRawEmail(input)
if err != nil {
log.Fatalf("failed to send message: %s", err)
return fmt.Errorf("failed to send message via ses %w", err)
}

log.Printf("message id %s", *output.MessageId)
log.Printf("successfully sent message via ses with id %s", *output.MessageId)

return nil
}
4 changes: 2 additions & 2 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ func main() {

msg, err := mail.ReadMessage(os.Stdin)
if err != nil {
log.Fatalf("failed to read message: %s", err)
log.Fatalf("failed to read message from stdin: %s", err)
}

err = send(region, username, password, from, *to, msg)
if err != nil {
log.Fatalf("failed to send: %s", err)
log.Fatalf("failed to send message: %s", err)
}
}

Expand Down

0 comments on commit 6907b5f

Please sign in to comment.