Skip to content
View sendpalm's full-sized avatar
Block or Report

Block or report sendpalm

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sendpalm/README.md

SendPalm Email Api

Installation

npm install sendpalm

Usage

  1. Register an account at https://sendpalm.com/, and then get your auth token on the https://sendpalm.com/api page

  2. Use in file:

    //ES6
    import Email from 'sendpalm'
    //CommonJS
    //const Email = require('sendpalm')
    
    const email = new Email("your token")
    
    // Email Verify
    async function verify() {
      const result = await email.verify("email address")
      console.log(result)
    }
    // Send transactional emails
    async function send() {
      const result = await email.send(fromEmail, toEmail, subject, content, templateParams)
      console.log(result)
    }
    // Campaign sending
    async function sendCampaign() {
        const result = await email.sendCampaign(fromEmail, toEmail, subject, campaignId, templateParams)
        console.log(result)
    }
    // Email verify with params
    async function verifyWithParams(){
      const params = {
        fromEmail: "fromEmail",
        listId: "listId",
        phone: "phone",
        toEmail: "toEmail",
      };
      const result = await email.verifyWithParams(params);
      console.log(result)
    }
    // Send transactional emails with params
    async function sendWithParams() {
      const params = {
        fromEmail: "fromEmail",
        toEmail: "toEmail",
        subject: "Welcome use SendPalm Email API",
        content: "Hi All,Welcome use SendPalm Email API",
        templateParams: {"campany":"SendPalm Inc."},
        delay: 20,//minutes
      };
      const result = await email.sendWithParams(params);
      console.log(result);
    }
    // Campaign sending with params
    async function sendCampaignWithParams() {
      const params = {
        fromEmail: "fromEmail",
        toEmail: "toEmail",
        subject: "Welcome use SendPalm Email API",
        campaignId: "1234",
        templateParams: {"campany":"SendPalm Inc."},
        delay: 20,
      };
      const result = await email.sendCampaignWithParams(params);
      console.log(result);
    }
    // New Audience with params
    async function newAudienceWithParams() {
      const params = {
         email: "email",
         fullname: "test",
         listId: "listId",
         phone: "1212121212"
       }
       const result = await email.newAudienceWithParams(params);
       console.log(result);
    }
    // Verify email with your webhook
    async function verifyWithWebhook() {
      const params = {
         fromEmail: "fromEmail",
         listId: "listId",
         phone: "phone",
         toEmail: "toEmail",
         webhook_url: "your url",
       }
       const result = await email.verifyWithWebhook(params);
       console.log(result);
    }
    // Find mail with Domain
    async function findWithDomain() {
      const params = {
         domain:"domain.com",
       }
       const result = await email.findWithDomain(params);
       console.log(result);
    }
    // Find mail with name
    async function findWithName() {
      const params = {
         first_name: "first_name",
         last_name: "last_name",
         domain: "domain.com",
       }
       const result = await email.findWithName(params);
       console.log(result);
    }

Verification

Response

For example, the verification email is service@sendpalm.com:

[
  {
    "input": "service@sendpalm.com",
    "is_reachable": "safe",
    "misc": {
      "is_disposable": false,
      "is_role_account": true
    },
    "mx": {
      "accepts_mail": true,
      "records": [
        "m1.feishu.cn."
      ]
    },
    "smtp": {
      "can_connect_smtp": true,
      "has_full_inbox": false,
      "is_catch_all": false,
      "is_deliverable": true,
      "is_disabled": false
    },
    "syntax": {
      "address": "service@sendpalm.com",
      "domain": "sendpalm.com",
      "is_valid_syntax": true,
      "username": "service"
    }
  }
]

is_reachable field = Email deliverability

For each email, SendPalm gives a confidence score in terms of deliverability in the is_reachable field. This field can take 4 values:

  • safe: We guarantee a hard bounce rate lower than 2%. Bounce rates may still happen, because we connect to the email's SMTP server from a different IP address than you, and yours might be blacklisted.
  • invalid: We guarantee with a confidence of 99% that this email is not deliverable.
  • risky: The email address appears to exist, but has quality issues that may result in low engagement or a bounce. We don't recommend sending to these emails, and don't commit on an accuracy rate.
  • unknown: It might happen on rare occasions that the email provider doesn't allow real-time verification of emails. In this case, there's unfortunately nothing Reacher can do. Please let us know if this happens, we're working on finding ways to solve these issues, which in most occasions are solved on a case-by-case basis.

Detailed deliverability in other fields

If the 4 variants of the is_reachable field is not enough for your use case, then you can look into the other fields, which provide more details about the email address.

When you input an email address, Reacher starts analyzing the email in 4 areas.

  1. ✏️ Syntax Checks: Syntax checks ensure that the email meets certain basic criteria such as whether it contains the "@" symbol within the email address.
  2. 🌐 Domain Name Checks: Domain checking ensures that the email address contains a valid internet domain name, and validates if the featured domain is configured to accept mail.
  3. ⚙️ SMTP Checks: This function checks that the address segment before the ‘@’ sign is a valid mailbox. This is the clever part, and what sets our service apart from many others.
  4. 💡 Misc Checks: This function checks some miscelleanous information about the email address. As of today, it only checks if the email address is disposable, but we're looking to add checks around whether the email provider is free or not, if it's an role-based email address, or if it has been compromised in data breaches.

Popular repositories

  1. sendpalm sendpalm Public

    Email Verifier/checker tool will clean your mailing list and increase the deliverability rate up to 99%.

    JavaScript 10 1

  2. sendpalm-api sendpalm-api Public

    SendPalm Email Api

    JavaScript 3

  3. dpay-node dpay-node Public

    JavaScript

  4. typing-game typing-game Public

    JavaScript

  5. awesome-chatgpt-prompts awesome-chatgpt-prompts Public

    Forked from f/awesome-chatgpt-prompts

    This repo includes ChatGPT prompt curation to use ChatGPT better.

    HTML

  6. FlutterTodo FlutterTodo Public

    Forked from MarcL01/FlutterTodo

    https://dribbble.com/shots/3812962-iPhone-X-Todo-Concept Made With Flutter

    Dart