C
Size: a a a
C
ЕО
RS
AZ
ЕО
ВС
AZ
func (s *Server) ServerNew() {
s.HTTP = CreateHTTPServer()
CreateDatabaseInstance()
}
DP
W
W
result :=*myfunction.GetMailConfig(myfunction.CreateConnect())
from := mail.Address{Address: result["login"]}
to := mail.Address{Address: result["client_mail"]}
subj := "This is the email subject"
body := "This is an example body.\n With two lines."
// Setup headers
headers := make(map[string]string)
headers["From"] = from.String()
headers["To"] = to.String()
headers["Subject"] = subj
message := ""
for k, v := range headers {
message += fmt.Sprintf("%s: %s\r\n", k, v)
}
message += "\r\n" + body
servername := result["smtp_server"]
host, _, _ := net.SplitHostPort(servername)
auth := smtp.PlainAuth("", result["login"], result["mail_password"], host)
tlsconfig := &tls.Config{
InsecureSkipVerify: true,
ServerName: host,
}
conn, err := tls.Dial("tcp", servername, tlsconfig)
if err != nil {
log.Panic(err)
}
c, err := smtp.NewClient(conn, host)
if err != nil {
log.Panic(err)
}
// Auth
if err = c.Auth(auth); err != nil {
log.Panic(err)
}
// To && From
if err = c.Mail(from.Address); err != nil {
log.Panic(err)
}
if err = c.Rcpt(to.Address); err != nil {
log.Panic(err)
}
// Data
w, err := c.Data()
if err != nil {
log.Panic(err)
}
_, err = w.Write([]byte(message))
if err != nil {
log.Panic(err)
}
err = w.Close()
if err != nil {
log.Panic(err)
}
_ = c.Quit()
W
DP
DP
W
ЕО