with Zoho Mail and Sinch MessageMedia?
The Zoho Mail API equips you with the ability to automate actions on emails, manage mailboxes, and interact with your Zoho Mail account programmatically. With Pipedream, you can trigger workflows on new emails, send emails automatically, and connect Zoho Mail to thousands of other services, streamlining communication processes, enhancing productivity, and enabling efficient data management.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zoho_mail: {
type: "app",
app: "zoho_mail",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://mail.${this.zoho_mail.$auth.base_api_uri}/api/accounts`,
headers: {
"Authorization": `Zoho-oauthtoken ${this.zoho_mail.$auth.oauth_access_token}`,
},
})
},
})
import axios from "axios";
import crypto from 'crypto';
export default defineComponent({
props: {
sinch_messagemedia: {
type: "app",
app: "sinch_messagemedia",
}
},
async run({ steps, $ }) {
// Date header in RFC7231 format
const date = new Date().toUTCString();
// Signing string (No Content-MD5 needed as this is a GET request with no body)
const requestLine = 'GET /v1/messaging/numbers/sender_address/addresses/ HTTP/1.1';
const signingString = `Date: ${date}\n${requestLine}`;
// Creating HMAC-SHA1 hash
const hmac = crypto.createHmac('sha1', this.sinch_messagemedia.$auth.api_secret);
hmac.update(signingString);
// Base64 encode the hash
const signature = hmac.digest('base64');
// Prepare authentication header and make the request
const authHeader = `hmac username="${this.sinch_messagemedia.$auth.api_key}", algorithm="hmac-sha1", headers="Date request-line", signature="${signature}"`;
const response = await axios({
method: 'get',
url: `${this.sinch_messagemedia.$auth.api_url}/v1/messaging/numbers/sender_address/addresses/`,
headers: {
'Date': date,
'Authorization': authHeader,
'Accept': 'application/json'
}
});
return response.data;
},
})