api: Add go files

I know this is a huge commit, but I can't be bothered to check
this in part by part.
This commit is contained in:
Adhityaa
2018-05-27 20:10:42 +05:30
parent 60e7e59841
commit a090770b73
95 changed files with 4203 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
package main
import (
"bytes"
"net/smtp"
"os"
)
type ownerConfirmHexPlugs struct {
Origin string
ConfirmHex string
}
func smtpOwnerConfirmHex(to string, toName string, confirmHex string) error {
var header bytes.Buffer
headerTemplate.Execute(&header, &headerPlugs{FromAddress: os.Getenv("SMTP_FROM_ADDRESS"), ToAddress: to, ToName: toName, Subject: "Please confirm your email address"})
var body bytes.Buffer
templates["confirm-hex"].Execute(&body, &ownerConfirmHexPlugs{Origin: os.Getenv("ORIGIN"), ConfirmHex: confirmHex})
err := smtp.SendMail(os.Getenv("SMTP_HOST"), smtpAuth, os.Getenv("SMTP_FROM_ADDRESS"), []string{to}, concat(header, body))
if err != nil {
logger.Errorf("cannot send confirmation email: %v", err)
return errorCannotSendEmail
}
return nil
}