当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO SendMail用法及代码示例


GO语言"net/smtp"包中"SendMail"函数的用法及代码示例。

用法:

func SendMail(addr string, a Auth, from string, to []string, msg []byte) error

SendMail 在 addr 连接到服务器,如果可能,切换到 TLS,如果可能,使用可选机制 a 进行身份验证,然后从地址 from 到地址发送一封电子邮件,并带有消息 msg。地址必须包括一个端口,如"mail.example.com:smtp"。

to 参数中的地址是 SMTP RCPT 地址。

msg 参数应该是 RFC 822 样式的电子邮件,首先是标题,一个空行,然后是邮件正文。 msg 的行应该是 CRLF 终止的。 msg 标头通常应包含"From"、"To"、"Subject" 和"Cc" 等字段。发送 "Bcc" 消息是通过在 to 参数中包含电子邮件地址但不包含在 msg 标头中来完成的。

SendMail 函数和 net/smtp 包是低级机制,不支持 DKIM 签名、MIME 附件(请参阅 mime/multipart 包)或其他邮件函数。更高级别的包存在于标准库之外。

例子:

package main

import (
	"log"
	"net/smtp"
)

func main() {
	// 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("To: recipient@example.net\r\n" +
		"Subject: discount Gophers!\r\n" +
		"\r\n" +
		"This is the email body.\r\n")
	err := smtp.SendMail("mail.example.com:25", auth, "sender@example.org", to, msg)
	if err != nil {
		log.Fatal(err)
	}
}

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 SendMail。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。