Go
Skicka / ta emot e-postmeddelanden
Sök…
Syntax
- func PlainAuth (identitet, användarnamn, lösenord, värdsträng) Auth
- func SendMail (addr-sträng, en autentisk, från sträng till [] -sträng, msg [] byte) -fel
Skicka e-post med smtp.SendMail ()
Att skicka e-post är ganska enkelt i Go. Det hjälper till att förstå RFC 822, som anger vilken stil ett e-postmeddelande måste vara i. Koden nedan skickar ett RFC 822-kompatibelt e-postmeddelande.
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!")
}
Ovanstående skickar ett meddelande på följande sätt:
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow