दस्तावेज़ पर जाएँ
Go

इंस्टॉल

एक मॉड्यूल, Go 1.24 और उसके बाद, और स्टैंडर्ड लाइब्रेरी के बाहर कुछ नहीं।

इंस्टॉल

मौजूदा रिलीज़ 0.0.1 है। इसमें TypeScript SDK के हर मेथड के लिए एक मेथड है, और जब कोई मेथड छूट जाए या अलग अनुरोध भेजे तो मॉड्यूल की समानता जाँच बिल्ड को विफल कर देती है।

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() कुंजी को OPENEMAIL_API_KEY से पढ़ता है, इसलिए कोड में कोई क्रेडेंशियल नहीं रहता। जब आपका कॉन्फ़िगरेशन कहीं और रहता हो तो openemail.WithAPIKey पास करें। New कभी विफल नहीं होता: गायब या गलत बनावट वाली कुंजी की सूचना client.Err() और पहली कॉल देती है।

अनुरोध बॉडी एक openemail.Body है, यानी एक map[string]any जिसकी कुंजियाँ API के नाम रखती हैं, इसलिए scheduledAt यहाँ वैसे ही लिखा जाता है जैसे API संदर्भ में। जवाब एक openemail.Object है, यानी डिकोड किया हुआ JSON जिसमें ID, String, Int, Bool, Time और Object जैसे रीडर हैं।

Send का लौट आना इसका मतलब नहीं कि संदेश चला गया। शेड्यूल किया गया या रद्द किया जा सकने वाला send queued या scheduled लौटता है और बाद में तय होता है। status पढ़ें, न कि यह कि कॉल लौट आई।

यह कहाँ चलता है

Go 1.24 और उसके बाद, हर उस प्लेटफ़ॉर्म पर जिसके लिए Go बिल्ड होता है। अनुरोध net/http से होकर जाते हैं, इसलिए कनेक्शन दोबारा इस्तेमाल होते हैं और HTTPS_PROXY का पालन होता है। एक क्लाइंट को कई goroutine एक साथ सुरक्षित रूप से इस्तेमाल कर सकते हैं: प्रोग्राम शुरू होते समय एक बनाएँ और उसे साझा करें।

क्लाइंट एक वर्कस्पेस API कुंजी लिए चलता है जो मेल भेज सकती है और मेलबॉक्स पढ़ सकती है, इसलिए इसकी जगह सर्वर पर, किसी जॉब में या आपकी अपनी मशीन पर चलने वाले टूल में है। कुंजी को किसी एनवायरनमेंट वेरिएबल या अपने फ़्रेमवर्क के secrets में रखें, कोड में कभी नहीं।