Go
Envoyer / recevoir des emails
Recherche…
Syntaxe
- func PlainAuth (identité, nom d'utilisateur, mot de passe, chaîne hôte)
- func SendMail (chaîne addr, une authentification, de chaîne, à [] chaîne, octet msg [] octet)
Envoi d'emails avec smtp.SendMail ()
L'envoi de courrier électronique est assez simple dans Go. Il est utile de comprendre le RFC 822, qui spécifie le style dans lequel un courrier électronique doit être, le code ci-dessous envoie un courrier électronique conforme à la RFC 822.
package main
import (
"fmt"
"net/smtp"
)
func main() {
// user we are authorizing as
from := "[email protected]"
// use we are sending email to
to := "[email protected]"
// server we are authorized to send email through
host := "mail.example.com"
// Create the authentication for the SendMail()
// using PlainText, but other authentication methods are encouraged
auth := smtp.PlainAuth("", from, "password", host)
// NOTE: Using the backtick here ` works like a heredoc, which is why all the
// rest of the lines are forced to the beginning of the line, otherwise the
// formatting is wrong for the RFC 822 style
message := `To: "Some User" <[email protected]>
From: "Other User" <[email protected]>
Subject: Testing Email From Go!!
This is the message we are sending. That's it!
`
if err := smtp.SendMail(host+":25", auth, from, []string{to}, []byte(message)); err != nil {
fmt.Println("Error SendMail: ", err)
os.Exit(1)
}
fmt.Println("Email Sent!")
}
Le message ci-dessus enverra un message comme celui-ci:
To: "Other User" <[email protected]>
From: "Some User" <[email protected]>
Subject: Testing Email From Go!!
This is the message we are sending. That's it!
.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow