Skip to content

Commit cae8810

Browse files
refactor: enhance sending domains example with improved error handling and structured logging
1 parent 20f7294 commit cae8810

File tree

1 file changed

+36
-26
lines changed

1 file changed

+36
-26
lines changed
Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,48 @@
1-
import { MailtrapClient } from "mailtrap";
1+
import { MailtrapClient } from "../../src/index";
22

33
const TOKEN = "<YOUR-TOKEN-HERE>";
44
const ACCOUNT_ID = "<YOUR-ACCOUNT-ID-HERE>";
55

66
const client = new MailtrapClient({
77
token: TOKEN,
8-
accountId: ACCOUNT_ID,
8+
accountId: Number(ACCOUNT_ID),
99
});
1010

1111
async function sendingDomainsFlow() {
12-
// Get all sending domains
13-
const all = await client.sendingDomains.getList();
14-
console.log("All sending domains:", all);
15-
16-
// Get a specific sending domain
17-
const one = await client.sendingDomains.get(all[0].id);
18-
console.log("One sending domain:", one);
19-
20-
// Send setup instructions
21-
const setupResponse = await client.sendingDomains.sendSetupInstructions(
22-
all[0].id,
23-
24-
);
25-
console.log("Setup instructions sent:", setupResponse);
26-
27-
// Create a new sending domain
28-
const created = await client.sendingDomains.create({
29-
domain_name: "example.com",
30-
});
31-
console.log("Created sending domain:", created);
32-
33-
// Delete a sending domain
34-
await client.sendingDomains.delete(created.id);
35-
console.log("Sending domain deleted");
12+
try {
13+
// Get all sending domains
14+
const all = await client.sendingDomains.getList();
15+
console.log("All sending domains:", JSON.stringify(all, null, 2));
16+
17+
if (!all.data || all.data.length === 0) {
18+
console.log("No sending domains found for this account.");
19+
return;
20+
}
21+
22+
// Get a specific sending domain
23+
const one = await client.sendingDomains.get(all.data[0].id);
24+
console.log("One sending domain:", JSON.stringify(one, null, 2));
25+
26+
// Send setup instructions
27+
const setupResponse = await client.sendingDomains.sendSetupInstructions(
28+
all.data[0].id,
29+
30+
);
31+
console.log("Setup instructions sent");
32+
33+
// Create a new sending domain
34+
const created = await client.sendingDomains.create({
35+
domain_name: "test-domain-" + Date.now() + ".com",
36+
});
37+
console.log("Created sending domain:", JSON.stringify(created, null, 2));
38+
39+
// Delete the created domain
40+
await client.sendingDomains.delete(created.id);
41+
console.log("Sending domain deleted");
42+
43+
} catch (error) {
44+
console.error("Error in sendingDomainsFlow:", error instanceof Error ? error.message : String(error));
45+
}
3646
}
3747

3848
sendingDomainsFlow();

0 commit comments

Comments
 (0)