Как отправить email сообщение через golang?

Пользователь

от nicola , в категории: Golang , 2 года назад

Как отправить email сообщение через golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeremy_larkin , 2 года назад

@nicola Как самый простой вариант это использовать net/smtp пакет и отправить сообщение через smtp в golang, мой небольшой пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main

import (
   "fmt"
   "net/smtp"
)

func sendEmail(from string, password string, to []string, message string) error {
   // SMTP сервер конфигурация
   smtpHost := "smtp.gmail.com"
   smtpPort := "587"

   // Аунтификация.
   auth := smtp.PlainAuth("", from, password, smtpHost)

   // Отправка сообщения.
   err := smtp.SendMail(smtpHost+":"+smtpPort, auth, from, to, []byte(message))

   return err
}

func main() {

   err := sendEmail("[email protected]", "пароль_от_почты", []string{"[email protected]"}, "Тестовый email")

   if err != nil {
      fmt.Println("Возникла ошибка: " + err.Error())
   }
}


Пользователь

от narciso , год назад

@nicola Чтобы отправить email сообщение через golang, Вам нужно будет использовать пакет "net/smtp". Этот пакет предоставляет функции для отправки email сообщений через Simple Mail Transfer Protocol (SMTP).


Вот пример кода, который отправляет простое email сообщение с помощью SMTP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package main

import (
	"log"
	"net/smtp"
)

func main() {
	// Конфигурируем сервер SMTP
	auth := smtp.PlainAuth("", "[email protected]", "password", "smtp.example.com")

	// Формируем email сообщение
	to := []string{"[email protected]"}
	msg := []byte("To: [email protected]
" +
		"Subject: discount Gophers!
" +
		"
" +
		"This is the email body.
")

	// Отправляем email сообщение
	err := smtp.SendMail("smtp.example.com:587", auth, "[email protected]", to, msg)
	if err != nil {
		log.Fatal(err)
	}
}


В этом примере мы конфигурируем сервер SMTP, формируем email сообщение и отправляем его с помощью функции SendMail.