Download test-email.mjs from maxxcarl/memory: direct link, hf CLI and curl.
- Browser
- Download file 1.43 kB
-
https://huggingface.co/spaces/maxxcarl/memory/resolve/main/test-email.mjs
- Command line
-
hf download hf://spaces/maxxcarl/memory/test-email.mjs
-
curl -L -o test-email.mjs https://huggingface.co/spaces/maxxcarl/memory/resolve/main/test-email.mjs
1.43 kB
| const API_BASE = "https://maxxcarl-keyvault.hf.space/secrets"; | |
| const API_KEY = "Azure@123"; | |
| const { request } = await import("node:https"); | |
| function fetchSecret(k) { | |
| return new Promise((resolve, reject) => { | |
| const url = `${API_BASE}/${k}`; | |
| request(url, { headers: { "X-API-Key": API_KEY, accept: "application/json" } }, (res) => { | |
| let d = ""; | |
| res.on("data", (c) => d += c); | |
| res.on("end", () => resolve(JSON.parse(d).value)); | |
| }).on("error", reject).end(); | |
| }); | |
| } | |
| const [from, to, apiKey] = await Promise.all([ | |
| fetchSecret("FROM_EMAIL"), | |
| fetchSecret("TO_EMAIL"), | |
| fetchSecret("BREVO_API_KEY"), | |
| ]); | |
| console.log(`from=${from} to=${to} apiKey=${apiKey.substring(0, 10)}...`); | |
| const payload = JSON.stringify({ | |
| sender: { email: from }, | |
| to: [{ email: to }], | |
| subject: "API Test", | |
| textContent: "Sent via Brevo REST API", | |
| }); | |
| const req = request({ | |
| hostname: "api.brevo.com", | |
| port: 443, | |
| path: "/v3/smtp/email", | |
| method: "POST", | |
| headers: { | |
| "api-key": apiKey, | |
| "Content-Type": "application/json", | |
| "Content-Length": Buffer.byteLength(payload), | |
| }, | |
| }, (res) => { | |
| let d = ""; | |
| res.on("data", (c) => d += c); | |
| res.on("end", () => { | |
| console.log(res.statusCode, d.substring(0, 200)); | |
| process.exit(res.statusCode === 201 || res.statusCode === 200 ? 0 : 1); | |
| }); | |
| }); | |
| req.on("error", (e) => { console.error(e.message); process.exit(1); }); | |
| req.write(payload); | |
| req.end(); | |