Работа с smtp, тестировалось на gmail. Так же есть возможность поднять http-сервер для работы апи метода, для отправки сообщений.
.env.dist - скопировать и перемновать в .env, заполнить данными. (сервер, например smtp.gmail.com, и данные ящика через который будут отправляться письма)
main.go - здесь происходит инициализация переменных окружений, и определяется, нужно поднимать http сервер или нет. По умолчанию он запускается. Так же запускается горутины и инициализуется буферизированный канал. Поступающие от клиентов запроса пишутся в канал, а горутины достают из канала "задачу" и отправляют само письмо
POST 127.0.0.1:8070/send
Тело запроса (raw body)
{
"From" : "militska.ru@gmail.com",
"FromExtended":"jane <militska.ru@gmail.com>",
"To": ["cheshirenok@gmail.com"],
"Subject": "33title6666",
"Body":"tttt"
}
controllers.go - хэндлеры(они же экшены)
sendMessage.go - реализация отправки почтового сообщения
msg.go - приведение в корректный вид тела письма