Heim >Backend-Entwicklung >Golang >So senden Sie E-Mails mit dem Gmail Go SDK: Lösen Sie das Rätsel bei der Erstellung von Nachrichtenobjekten?
So senden Sie E-Mails über das Gmail Go SDK
Problem:
Versenden von E-Mails mit dem Das Gmail Go SDK kann eine Herausforderung darstellen, insbesondere aufgrund des Fehlens einer klaren Dokumentation zum Erstellen des erforderlichen Nachrichtenobjekts. Die Felder des Nachrichtentyps erleichtern in erster Linie das Parsen von E-Mails, sodass unklar ist, wie eine gültige Nutzlast zum Senden von E-Mails erstellt wird.
Lösung:
Trotz der Komplexität der API sind hier Schritte aufgeführt So senden Sie E-Mails über das Gmail Go SDK:
1. Erstellen Sie ein Nachrichtenobjekt:
2. Initialisieren Sie einen Gmail-Dienst:
3. Senden Sie die E-Mail:
4. Header-Werte codieren:
5. Kodieren Sie den Nachrichtentext:
Benutzerdefiniertes Code-Snippet:
<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>
Indem Sie diese Schritte befolgen, können Sie ein gültiges Nachrichtenobjekt erstellen und E-Mails erfolgreich über das Gmail Go SDK versenden.
Das obige ist der detaillierte Inhalt vonSo senden Sie E-Mails mit dem Gmail Go SDK: Lösen Sie das Rätsel bei der Erstellung von Nachrichtenobjekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!