Sobes.tech
Junior — Middle

Hai esperienza con il protocollo SMTP per l'invio di email?

sobes.tech AI

Risposta dell'AI

In Go, per inviare email tramite SMTP si utilizza spesso il pacchetto net/smtp. Permette di stabilire una connessione con il server SMTP, autenticarsi e inviare il messaggio.

Esempio di invio di una email semplice:

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: Email di test\r\n" +
		"\r\n" +
		"Questo è il corpo dell'email.")

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

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

In questo esempio, si stabilisce una connessione al server SMTP con autenticazione e si invia l'email. È possibile usare TLS per la sicurezza, così come aggiungere intestazioni e allegati all'email.