From: Kamil Kisiel Date: Thu, 16 Jan 2014 18:49:58 +0000 (-0800) Subject: net/smtp: add examples X-Git-Tag: go1.3beta1~954 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=18d644111ea18b2c778d67f0507f9b2a21a47dfd;p=gostls13.git net/smtp: add examples R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/8274046 --- diff --git a/src/pkg/net/smtp/example_test.go b/src/pkg/net/smtp/example_test.go new file mode 100644 index 0000000000..d551e365a9 --- /dev/null +++ b/src/pkg/net/smtp/example_test.go @@ -0,0 +1,61 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package smtp_test + +import ( + "fmt" + "log" + "net/smtp" +) + +func Example() { + // Connect to the remote SMTP server. + c, err := smtp.Dial("mail.example.com:25") + if err != nil { + log.Fatal(err) + } + + // Set the sender and recipient first + if err := c.Mail("sender@example.org"); err != nil { + log.Fatal(err) + } + if err := c.Rcpt("recipient@example.net"); err != nil { + log.Fatal(err) + } + + // Send the email body. + wc, err := c.Data() + if err != nil { + log.Fatal(err) + } + _, err = fmt.Fprintf(wc, "This is the email body") + if err != nil { + log.Fatal(err) + } + err = wc.Close() + if err != nil { + log.Fatal(err) + } + + // Send the QUIT command and close the connection. + err = c.Quit() + if err != nil { + log.Fatal(err) + } +} + +func ExamplePlainAuth() { + // Set up authentication information. + auth := smtp.PlainAuth("", "user@example.com", "password", "mail.example.com") + + // Connect to the server, authenticate, set the sender and recipient, + // and send the email all in one step. + to := []string{"recipient@example.net"} + msg := []byte("This is the email body.") + err := smtp.SendMail("mail.example.com:25", auth, "sender@example.org", to, msg) + if err != nil { + log.Fatal(err) + } +}