Installation
Un seul artefact sur Maven Central, Java 17 et versions ultérieures, sans aucune dépendance.
Installation
La version actuelle est 0.0.1. Elle a une méthode pour chaque méthode du SDK TypeScript, et le contrôle de parité du package fait échouer la compilation quand il en manque une ou qu'elle envoie une requête différente.
<dependency> <groupId>uk.openemail</groupId> <artifactId>openemail</artifactId> <version>0.0.1</version></dependency>import java.util.Map;import uk.openemail.Body;import uk.openemail.OpenEmail; public final class FirstEmail { public static void main(String[] args) { OpenEmail client = new OpenEmail(); Map<String, Object> email = client.emails().send(Body.of( "from", "Acme Billing <[email protected]>", "to", "[email protected]", "subject", "Your September invoice", "html", "<p>Invoice attached.</p>" )); System.out.println(email.get("id") + " " + email.get("status")); }}new OpenEmail() lit la clé dans OPENEMAIL_API_KEY : le code ne contient donc aucun identifiant. Utilisez OpenEmail.builder().apiKey(...) quand votre configuration se trouve ailleurs.
Un corps de requête est une Map<String, Object> dont les clés gardent les noms de l'API, si bien que scheduledAt s'écrit ici comme dans la référence de l'API. Body.of en construit une qui garde l'ordre dans lequel vous l'avez écrite et accepte les valeurs null. Une réponse est le JSON décodé sous forme de Map<String, Object> : email.get("id") lit donc l'identifiant.
Le retour de send ne signifie pas que le message est parti. Un envoi planifié ou annulable revient en queued ou scheduled et se règle plus tard. Lisez status, pas le fait que l'appel a retourné.
Où il s'exécute
Java 17 et versions ultérieures, dans n'importe quel langage de la JVM. Le jar n'a aucune dépendance, et il nomme son module uk.openemail pour les applications sur le chemin des modules.
Le client est immuable et peut être partagé sans risque entre les threads. Construisez-en un au démarrage de l'application et gardez-le : il détient un HttpClient, qui réutilise ses connexions.
Le client porte une clé d'API d'espace de travail capable d'envoyer du courrier et de lire la boîte : sa place est donc sur un serveur, dans un job ou dans un outil qui s'exécute sur votre propre machine. Conservez la clé dans une variable d'environnement ou dans un coffre de secrets, jamais dans le code.