CustomArgs - With Mail Helper Class
package main
import (
"fmt"
"log"
"os"
"github.com/sendgrid/sendgrid-go"
"github.com/sendgrid/sendgrid-go/helpers/mail"
)
func main () {
from := mail .NewEmail ("Example User" , "[email protected] " )
subject := "CustomArgs can be fun"
to := mail .NewEmail ("Example User" , "[email protected] " )
content := mail .NewContent ("text/html" , "<html>\n <head>\n \t <title></title>\n </head>\n <body>\n Hello -name-,\n <br /><br/>\n I'm glad you are trying out the CustomArgs feature!\n <br /><br/>\n I hope you are having a great day in -city- :)\n <br /><br/>\n </body>\n </html>" )
m := mail .NewV3MailInit (from , subject , to , content )
m .Personalizations [0 ].SetSubstitution ("-name-" , "Example User" )
m .Personalizations [0 ].SetSubstitution ("-city-" , "Denver" )
m .Personalizations [0 ].SetCustomArg ("user_id" , "343" )
m .Personalizations [0 ].SetCustomArg ("batch_id" , "3" )
m .SetCustomArg ("campaign" , "welcome" )
m .SetCustomArg ("weekday" , "morning" )
request := sendgrid .GetRequest (os .Getenv ("SENDGRID_API_KEY" ), "/v3/mail/send" , "https://api.sendgrid.com" )
request .Method = "POST"
request .Body = mail .GetRequestBody (m )
response , err := sendgrid .API (request )
if err != nil {
log .Println (err )
} else {
fmt .Println (response .StatusCode )
fmt .Println (response .Body )
fmt .Println (response .Headers )
}
}