使用 SendGrid 的 Go 客户端库(sendgrid-go
)可以同时向多个邮箱发送邮件。有几种方法可以实现这一点,下面是常见的做法之一:
Personalization
你可以通过 Personalization
在单个邮件中添加多个收件人。以下是一个示例代码,展示如何实现这一点:
package main import ( "fmt" "log" "github.com/sendgrid/sendgrid-go" "github.com/sendgrid/sendgrid-go/helpers/mail" ) func main() { // 创建一个 SendGrid 客户端 apiKey := "YOUR_SENDGRID_API_KEY" client := sendgrid.NewSendClient(apiKey) // 创建邮件 from := mail.NewEmail("Example User", "example@example.com") subject := "Sending with SendGrid is Fun" content := mail.NewContent("text/plain", "and easy to do anywhere, even with Go") // 创建一个邮件对象 m := mail.NewV3MailInit(from, subject, content) // 创建一个 Personalization 对象 personalization := mail.NewPersonalization() // 添加多个收件人 recipients := []string{"recipient1@example.com", "recipient2@example.com", "recipient3@example.com"} for _, email := range recipients { personalization.AddTos(mail.NewEmail("", email)) } // 将 Personalization 添加到邮件中 m.AddPersonalizations(personalization) // 发送邮件 response, err := client.Send(m) if err != nil { log.Printf("Error sending email: %v\n", err) return } // 打印响应 fmt.Printf("Response Status Code: %d\n", response.StatusCode) fmt.Printf("Response Body: %s\n", response.Body) fmt.Printf("Response Headers: %v\n", response.Headers) }
Personalization
:
Personalization
对象。Personalization
对象中。client.Send(m)
来发送邮件。标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。