Gmail Go SDK를 통해 이메일을 보내는 방법
문제:
Gmail Go SDK는 특히 필수 메시지 객체 생성에 대한 명확한 문서가 부족하기 때문에 어려울 수 있습니다. 메시지 유형의 필드는 주로 이메일 구문 분석을 용이하게 하므로 이메일 전송을 위한 유효한 페이로드를 구성하는 방법이 불분명합니다.
해결책:
API의 복잡성에도 불구하고 다음 단계를 따르세요. Gmail Go SDK를 통해 이메일을 보내려면:
1. 메시지 객체 생성:
2. Gmail 서비스 초기화:
3. 이메일 보내기:
4. 헤더 값 인코딩:
5. 메시지 본문 인코딩:
사용자 정의 코드 조각:
<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>
이 단계를 따르면 유효한 메시지 개체를 구성하고 Gmail Go SDK를 통해 이메일을 성공적으로 보낼 수 있습니다.
위 내용은 Gmail Go SDK를 사용하여 이메일을 보내는 방법: 메시지 개체 생성 문제 해결?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!