with Elastic Email and IMAP?
Emit new event when a new contact is added to a mailing list. See the documentation
Emit new event when a recipient clicks a link in an email. See the documentation
Emit new event when a recipient opens an email. See the documentation
Adds a new contact to a mailing list. See the documentation
Sends an email to one or more recipients. See the documentation
Unsubscribes a contact from future emails. See the documentation
The Elastic Email API allows you to integrate a robust email sending platform into your Pipedream workflows. Use it to send emails, manage contacts, and track campaign statistics. With this API, you can automate email notifications, synchronize subscriber lists, or trigger marketing campaigns based on user actions.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
elastic_email: {
type: "app",
app: "elastic_email",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.elasticemail.com/v2/account/profileoverview`,
headers: {
"X-ElasticEmail-ApiKey": `${this.elastic_email.$auth.api_key}`,
},
})
},
})
Using Pipedream's IMAP API, developers can automate interactions with their email inbox, enabling serverless workflows that perform actions based on incoming emails. This could include parsing email contents, triggering events upon receiving emails from specific senders, attaching labels, and much more. By leveraging IMAP, Pipedream can act as a bridge between your email and other services, streamlining processes that would otherwise require manual intervention.
import { once } from "events";
import imaps from "imap-simple";
import cycle from "cycle";
export default defineComponent({
props: {
imap: {
type: "app",
app: "imap",
}
},
async run({steps, $}) {
const { host, port, email, password } = this.imap.$auth;
const connection = await imaps.connect({
imap: {
host,
port,
user: email,
password,
tls: true,
tlsOptions: { servername: host },
authTimeout: 3000
},
});
const boxes = await connection.getBoxes();
// Filter out circular references to parents
const filteredBoxes = cycle.decycle(boxes);
$.export("results", filteredBoxes);
connection.end();
await once(connection.imap, "end");
},
})