Как с помощью Go (ЯП) отправить письмо на почту?

Для отправки письма по электронной почте с использованием Go вам понадобится использовать библиотеку net/smtp, которая входит в стандартную библиотеку Go.

Вот пример кода, который позволяет отправить письмо на почту с использованием SMTP-сервера:

package main

import (
	"log"
	"net/smtp"
)

func main() {
	// Информация о SMTP-сервере
	smtpServer := "smtp.example.com"
	smtpPort := "587"
	smtpUsername := "your_username"
	smtpPassword := "your_password"

	// Настройки авторизации
	auth := smtp.PlainAuth("", smtpUsername, smtpPassword, smtpServer)

	// Формирование письма
	from := "[email protected]"
	to := []string{"[email protected]"}
	subject := "Тестовое письмо"
	message := "Привет, это тестовое письмо."

	// Соединение с сервером SMTP
	smtpAddress := smtpServer + ":" + smtpPort
	smtpClient, err := smtp.Dial(smtpAddress)
	if err != nil {
		log.Fatal(err)
	}

	// Авторизация на сервере SMTP
	if err := smtpClient.Auth(auth); err != nil {
		log.Fatal(err)
	}

	// Установка отправителя и получателя письма
	if err := smtpClient.Mail(from); err != nil {
		log.Fatal(err)
	}
	for _, recipient := range to {
		if err := smtpClient.Rcpt(recipient); err != nil {
			log.Fatal(err)
		}
	}

	// Передача тела письма
	data, err := smtpClient.Data()
	if err != nil {
		log.Fatal(err)
	}
	defer data.Close()

	// Заголовки письма
	headers := make(map[string]string)
	headers["From"] = from
	headers["To"] = to[0] // В данном примере только один получатель
	headers["Subject"] = subject

	// Формирование заголовков письма
	var messageBody string
	for key, value := range headers {
		messageBody += key + ": " + value + "rn"
	}

	// Добавление тела письма
	messageBody += "rn" + message

	// Запись письма в поток данных
	_, err = data.Write([]byte(messageBody))
	if err != nil {
		log.Fatal(err)
	}

	// Отправка письма
	err = smtpClient.Quit()
	if err != nil {
		log.Fatal(err)
	}

	log.Println("Письмо успешно отправлено.")
}

В представленном коде используется простой пример отправки письма. Вы должны указать реальные данные SMTP-сервера (smtpServer), порта (smtpPort), учетные данные пользователя (smtpUsername и smtpPassword), отправителя (from), получателя (to) и другие детали письма (subject и message). После запуска кода письмо будет отправлено на указанный адрес электронной почты.