Belgelere geç
Go

Kurulum

Tek bir modül, Go 1.24 ve sonrası, standart kitaplığın dışında hiçbir şey yok.

Kurulum

Güncel sürüm 0.0.1. TypeScript SDK'sındaki her yöntem için bir yöntemi vardır ve biri eksik kaldığında ya da farklı bir istek gönderdiğinde modülün eşlik denetimi derlemeyi başarısız kılar.

go get github.com/bfzli/openemail-go
main.go
package main import (	"context"	"fmt"	"log" 	"github.com/bfzli/openemail-go") func main() {	client := openemail.New() 	email, err := client.Emails.Send(context.Background(), openemail.Body{		"from":    "Acme Billing <[email protected]>",		"to":      "[email protected]",		"subject": "Your September invoice",		"html":    "<p>Invoice attached.</p>",	})	if err != nil {		log.Fatal(err)	} 	fmt.Println(email.ID(), email.String("status"))}

openemail.New() anahtarı OPENEMAIL_API_KEY değişkeninden okur, böylece kodda hiçbir kimlik bilgisi bulunmaz. Yapılandırmanız başka bir yerdeyse openemail.WithAPIKey geçirin. New hiçbir zaman başarısız olmaz: eksik ya da hatalı biçimli bir anahtarı client.Err() ve ilk çağrı bildirir.

İstek gövdesi bir openemail.Body, yani anahtarları API'nin adlarını koruyan bir map[string]any değeridir; bu yüzden scheduledAt burada API başvurusundaki gibi yazılır. Yanıt bir openemail.Object, yani ID, String, Int, Bool, Time ve Object gibi okuyucuları olan çözülmüş JSON'dur.

Send çağrısının dönmesi iletinin gittiği anlamına gelmez. Zamanlanmış ya da iptal edilebilir bir gönderim queued veya scheduled olarak döner ve daha sonra sonuçlanır. Çağrının dönmüş olmasına değil, status değerine bakın.

Nerede çalışır

Go 1.24 ve sonrası, Go'nun derlediği her platformda. İstekler net/http üzerinden gider, bu yüzden bağlantılar yeniden kullanılır ve HTTPS_PROXY dikkate alınır. Bir istemci aynı anda birden çok goroutine tarafından güvenle kullanılabilir: program başlarken bir tane oluşturun ve paylaşın.

İstemci, posta gönderebilen ve posta kutusunu okuyabilen bir çalışma alanı API anahtarı taşır; bu yüzden yeri bir sunucu, bir iş ya da kendi makinenizde çalışan bir araçtır. Anahtarı bir ortam değişkeninde ya da framework'ünüzün gizli bilgi deposunda tutun, asla kodda değil.