view pkg/misc/mail.go @ 2809:216bc6394911

Optimized longterm waterlevel statistics.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 26 Mar 2019 12:45:50 +0100
parents 5b9b8eabcd01
children dcd5692a2889
line wrap: on
line source

// This is Free Software under GNU Affero General Public License v >= 3.0
// without warranty, see README.md and license for details.
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// License-Filename: LICENSES/AGPL-3.0.txt
//
// Copyright (C) 2018 by via donau
//   – Österreichische Wasserstraßen-Gesellschaft mbH
// Software engineering by Intevation GmbH
//
// Author(s):
//  * Sascha L. Teichmann <sascha.teichmann@intevation.de>

package misc

import (
	gomail "gopkg.in/gomail.v2"

	"gemma.intevation.de/gemma/pkg/config"
)

// SendMail sends an email to a given address with a given subject
// and body.
// The credentials to contact the SMPT server are taken from the
// configuration.
func SendMail(address, subject, body string) error {
	m := gomail.NewMessage()
	m.SetHeader("From", config.MailFrom())
	m.SetHeader("To", address)
	m.SetHeader("Subject", subject)
	m.SetBody("text/plain", body)

	d := gomail.Dialer{
		Host:      config.MailHost(),
		Port:      int(config.MailPort()),
		Username:  config.MailUser(),
		Password:  config.MailPassword(),
		LocalName: config.MailHelo(),
		SSL:       config.MailPort() == 465,
	}

	return d.DialAndSend(m)
}