Comment envoyer un e-mail via le SDK Gmail Go
Problème :
Envoi d'e-mails à l'aide du Le SDK Gmail Go peut être difficile, notamment en raison du manque de documentation claire pour créer l'objet Message requis. Les champs du type de message facilitent principalement l'analyse des e-mails, ce qui laisse flou sur la façon de construire une charge utile valide pour l'envoi d'e-mails.
Solution :
Malgré la complexité de l'API, voici les étapes pour envoyer des e-mails via le SDK Gmail Go :
1. Créez un objet de message :
2. Initialiser un service Gmail :
3. Envoyer l'e-mail :
4. Encoder les valeurs d'en-tête :
5. Encodez le corps du message :
Extrait de code personnalisé :
<code class="go">import ( "encoding/base64" "encoding/json" "fmt" "log" "net/mail" "strings" gmail "google.golang.org/api/gmail/v1" ) type Email struct { FromName, FromEmail, ToName, ToEmail, Subject string Message string } func (em *Email) SendMessage(cl *Client) error { from := mail.Address{em.FromName, em.FromEmail} to := mail.Address{em.ToName, em.ToEmail} header := make(map[string]string) header["From"] = from.String() header["To"] = to.String() header["Subject"] = encodeRFC2047(em.Subject) header["MIME-Version"] = "1.0" header["Content-Type"] = "text/html; charset=\"utf-8\"" header["Content-Transfer-Encoding"] = "base64" var msg string for k, v := range header { msg += fmt.Sprintf("%s: %s\r\n", k, v) } msg += "\r\n" + em.Message gmsg := gmail.Message{ Raw: encodeWeb64String([]byte(msg)), } // Send the email using Gmail Service ... return nil } func encodeRFC2047(s string) string { // use mail's rfc2047 to encode any string addr := mail.Address{s, ""} return strings.Trim(addr.String(), " <>") } func encodeWeb64String(b []byte) string { s := base64.URLEncoding.EncodeToString(b) var i = len(s) - 1 for s[i] == '=' { i-- } return s[0 : i+1] }</code>
En suivant ces étapes, vous pouvez créer un objet Message valide et envoyer avec succès des e-mails via le SDK Gmail Go.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!