Sobes.tech
Junior — Middle

Czy masz doświadczenie w pracy z protokołem SMTP do wysyłania e-maili?

sobes.tech AI

Odpowiedź od AI

W Go, do wysyłania e-maili przez SMTP często używa się pakietu net/smtp. Umożliwia on nawiązanie połączenia z serwerem SMTP, uwierzytelnienie się i wysłanie wiadomości.

Przykład wysyłania prostego e-maila:

package main

import (
	"net/smtp"
	"log"
)

func main() {
	from := "sender@example.com"
	password := "password"
	to := []string{"recipient@example.com"}
	smtpHost := "smtp.example.com"
	smtpPort := "587"

	message := []byte("Subject: Testowy email\r\n" +
		"\r\n" +
		"To jest treść wiadomości.")

	auth := smtp.PlainAuth("", from, password, smtpHost)

	err := smtp.SendMail(smtpHost+":"+smtpPort, auth, from, to, message)
	if err != nil {
		log.Fatal(err)
	}
}

W tym przykładzie nawiązywane jest połączenie z serwerem SMTP z uwierzytelnieniem i wysyłana jest wiadomość. Można użyć TLS dla bezpieczeństwa, a także dodawać nagłówki i załączniki.