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)
}
}
相关用法
- GO Server.Shutdown用法及代码示例
- GO SectionReader用法及代码示例
- GO SectionReader.ReadAt用法及代码示例
- GO SearchFloat64s用法及代码示例
- GO ServeMux.Handle用法及代码示例
- GO SectionReader.Size用法及代码示例
- GO Server用法及代码示例
- GO Search用法及代码示例
- GO SearchInts用法及代码示例
- GO SectionReader.Seek用法及代码示例
- GO SectionReader.Read用法及代码示例
- GO Scanner.Scan用法及代码示例
- GO StreamWriter用法及代码示例
- GO Split用法及代码示例
- GO Slice用法及代码示例
- GO StructTag.Lookup用法及代码示例
- GO SplitAfter用法及代码示例
- GO Sum256用法及代码示例
- GO Sin用法及代码示例
- GO Sprintf用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 SendMail。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。