mirror of
https://github.com/christianselig/apollo-backend
synced 2024-11-14 16:07:42 +00:00
f9b9c595cf
* some tests * more tests * tidy up go.mod * more tests * add postgres * beep * again * Set up schema * fix device test
34 lines
720 B
Go
34 lines
720 B
Go
package api
|
|
|
|
import (
|
|
"encoding/json"
|
|
"net/http"
|
|
|
|
"github.com/smtp2go-oss/smtp2go-go"
|
|
)
|
|
|
|
type sendMessageRequest struct {
|
|
Title string `json:"title"`
|
|
Body string `json:"body"`
|
|
}
|
|
|
|
func (a *api) contactHandler(w http.ResponseWriter, r *http.Request) {
|
|
smr := &sendMessageRequest{}
|
|
if err := json.NewDecoder(r.Body).Decode(smr); err != nil {
|
|
a.errorResponse(w, r, 500, err.Error())
|
|
return
|
|
}
|
|
|
|
msg := &smtp2go.Email{
|
|
From: "🤖 Apollo API <robot@apollonotifications.com>",
|
|
To: []string{"ultrasurvey@apolloapp.io"},
|
|
Subject: smr.Title,
|
|
TextBody: smr.Body,
|
|
}
|
|
|
|
if _, err := smtp2go.Send(msg); err != nil {
|
|
a.errorResponse(w, r, 500, err.Error())
|
|
return
|
|
}
|
|
w.WriteHeader(http.StatusOK)
|
|
}
|