इंस्टॉल
एक Composer पैकेज, PHP 8.2 और ऊपर, curl और json एक्सटेंशन के साथ।
इंस्टॉल
मौजूदा रिलीज़ 0.0.1 है। इसमें TypeScript SDK के हर मेथड के लिए उसी नाम का एक मेथड है, और पैकेज की समानता जाँच तब build को विफल कर देती है जब कोई मेथड ग़ायब हो या अलग रिक्वेस्ट भेजे।
composer require openemail/sdk<?php use OpenEmail\OpenEmail; require __DIR__ . '/vendor/autoload.php'; $client = new OpenEmail(); $email = $client->emails->send([ 'from' => 'Acme Billing <[email protected]>', 'to' => '[email protected]', 'subject' => 'Your September invoice', 'html' => '<p>Invoice attached.</p>',]); echo $email['id'], ' ', $email['status'], PHP_EOL;new OpenEmail() कुंजी को OPENEMAIL_API_KEY से पढ़ता है, इसलिए कोड में कोई क्रेडेंशियल नहीं रहता। जब आपका कॉन्फ़िगरेशन कहीं और रहता हो तो apiKey: पास करें। एक ही क्लाइंट को कहीं से भी इस्तेमाल करने के लिए, उसे OpenEmail::init() से एक बार कॉन्फ़िगर करें और OpenEmail::getClient() से प्राप्त करें।
जवाब डिकोड किया गया JSON है, एक associative array के रूप में, इसलिए $email['id'] id पढ़ता है। कुंजियाँ API के नाम बनाए रखती हैं, और मेथड तथा उनके named आर्ग्युमेंट भी, इसीलिए scheduledAt और idempotencyKey: यहाँ ठीक वैसे ही लिखे जाते हैं जैसे API संदर्भ में।
send का लौट आना इसका मतलब नहीं कि संदेश चला गया। शेड्यूल किया गया या रद्द किया जा सकने वाला send queued या scheduled लौटता है और बाद में तय होता है। status पढ़ें, न कि यह कि कॉल लौट आई।
यह कहाँ चलता है
PHP 8.2 और ऊपर, curl और json एक्सटेंशन के साथ जो लगभग हर build में होते हैं, और कोई दूसरी निर्भरता नहीं। रिक्वेस्ट हर क्लाइंट के एक cURL handle से होकर जाती हैं, इसलिए API को भेजी गई दूसरी रिक्वेस्ट उसी कनेक्शन को दोबारा इस्तेमाल करती है जो पहली ने खोला था, और cURL संपीड़ित जवाब को आपके लिए डिकोड कर देता है।
यह PHP-FPM, Apache, कमांड लाइन और queue worker, RoadRunner या FrankenPHP जैसे लंबे समय तक चलने वाले workers में काम करता है। PHP-FPM में हर रिक्वेस्ट नए सिरे से शुरू होती है, इसलिए क्लाइंट को हर रिक्वेस्ट में एक बार बनाएँ। लंबे समय तक चलने वाली प्रोसेस में, प्रोसेस के पूरे जीवनकाल के लिए एक क्लाइंट रखें। pcntl_fork के बाद चाइल्ड प्रोसेस पैरेंट के कनेक्शन को दोबारा इस्तेमाल करने के बजाय अपना कनेक्शन खोलता है।
क्लाइंट एक वर्कस्पेस API कुंजी लिए चलता है जो मेल भेज सकती है और मेलबॉक्स पढ़ सकती है, इसलिए इसकी जगह सर्वर पर, किसी जॉब में या आपकी अपनी मशीन पर चलने वाले टूल में है। कुंजी को किसी एनवायरनमेंट वेरिएबल या अपने फ़्रेमवर्क के secrets में रखें, कोड में कभी नहीं।