采用阿里云邮件推送发送随机6位验证码 go语言
时间: 2023-07-07 21:20:31 浏览: 100
以下是采用阿里云邮件推送发送随机6位验证码的 Go 语言示例代码:
```go
package main
import (
"fmt"
"math/rand"
"net/smtp"
"strconv"
"time"
)
const (
smtpServer = "smtpdm.aliyun.com"
smtpPort = 25
smtpUser = "your_smtp_user_name"
smtpPwd = "your_smtp_password"
)
func main() {
rand.Seed(time.Now().UnixNano())
code := rand.Intn(900000) + 100000
to := []string{"recipient@example.com"}
subject := "Your verification code"
body := "Your verification code is: " + strconv.Itoa(code)
err := sendMail(to, subject, body)
if err != nil {
fmt.Println("Failed to send email:", err)
} else {
fmt.Println("Verification code has been sent to your email.")
}
}
func sendMail(to []string, subject, body string) error {
auth := smtp.PlainAuth("", smtpUser, smtpPwd, smtpServer)
msg := []byte("To: " + to[0] + "\r\n" +
"Subject: " + subject + "\r\n" +
"Content-Type: text/plain; charset=UTF-8\r\n" +
"\r\n" +
body + "\r\n")
addr := fmt.Sprintf("%s:%d", smtpServer, smtpPort)
return smtp.SendMail(addr, auth, smtpUser, to, msg)
}
```
需要替换代码中的 `smtpUser` 和 `smtpPwd` 为你的阿里云邮件推送 SMTP 用户名和密码,同时将 `recipient@example.com` 替换为你要发送验证码的收件人邮箱地址。
阅读全文