Connect Pipedream to any IMAP email provider to trigger custom workflows.
Create a HTML or a plain text email template. See the docs
Send an email using Amazon SES. Supports simple email messaging. See the docs
Send an email replacing the template tags with values using Amazon SES. See the docs
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");
},
})
Amazon Simple Email Service (SES) is a powerful cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. With the SES API, you can reliably send emails at scale, manage sender reputations, view email sending statistics, and maintain a high deliverability rate. Leveraging Pipedream's capabilities, you can integrate SES seamlessly into serverless workflows, automate email responses based on triggers from other apps, and analyze the effectiveness of your email campaigns by connecting to data analytics platforms.
module.exports = defineComponent({
props: {
amazon_ses: {
type: "app",
app: "amazon_ses",
}
},
async run({steps, $}) {
const AWS = require("aws-sdk")
const { accessKeyId, secretAccessKey } = this.amazon_ses.$auth
const ses = new AWS.SES({
accessKeyId,
secretAccessKey,
region: 'us-east-1',
})
const sesParams = {
Destination: {
ToAddresses: ["<your email here>"],
},
Message: {
Body: {
Html: {
Charset: "UTF-8",
Data: "<h1>This is a test</h1>",
},
Text: {
Charset: "UTF-8",
Data: "This is a test",
}
},
Subject: {
Charset: "UTF-8",
Data: "Test email",
}
},
Source: "<your from address here",
};
this.resp = await ses.sendEmail(sesParams).promise()
},
})