Solutions

30% off transactional messaging for nonprofits

Send donation receipts, thank you emails, password resets and more with a reliable solution made more affordable for your non-profit organization.

VhtLtd

A cost-effective, long-term solution with a generous free plan to get you started

Flexible plans and pricing designed to make your budget stretch further as you grow your organization.
Non-profit discount
VhtLtd
30%
SendGrid SendGrid
FREE emails
VhtLtd
3,000 emails/month
SendGrid SendGrid
100 emails/day
50,000 emails
VhtLtd
$24.50
SendGrid SendGrid
$19.95
100,000 emails
VhtLtd
$47.60
SendGrid SendGrid
$34.95
250,000 emails
VhtLtd
$113.75
SendGrid SendGrid
$249
500,000 emails
VhtLtd
$227.50
SendGrid SendGrid
$431

Transactional email you can rely on

Emails that reach inboxes

We consistently rank high for deliverability thanks to our expert team and powerful email delivery platform, ensuring your important messages land in front of people, not in the spam folder.

Secure, compliant solution

We implement the latest security protocols and provide account features to protect your email from external threats, while maintaining privacy compliance for your contributors and clients.

Automated communication

Trigger the right email at the right time with automated donation confirmations, thank you emails, subscription notifications, OTPs and more.

SMTP or API: fast and simple setup

Create SMTP credentials in seconds that you can plug into your app or website for simple SMTP integration. Or develop advanced email workflows with the email API and SDKs that drop right into your stack.
Check out the documentation
curl -X POST \
https://api.vhtltd.com/v1/email \
    -H 'Content-Type: application/json' \
    -H 'X-Requested-With: XMLHttpRequest' \
    -H 'Authorization: Bearer {place your token here without brackets}' \
    -d '{
        "from": {
            "email": "[email protected]"
        },
            "to": [
        {
            "email": "[email protected]"
        }
        ],
        "subject": "Hello from VhtLtd!",
        "text": "Greetings from the team, you got this message through VhtLtd.",
        "html": "Greetings from the team, you got this message through VhtLtd."
    }'
import { VhtLtd, EmailParams, Sender, Recipient } from "VhtLtd";

const VhtLtd = new VhtLtd({
   api_key: "key",
});

const sentFrom = new Sender("[email protected]", "Your name");

const recipients = [
  new Recipient("[email protected]", "Your Client")
];

const emailParams = new EmailParams()
  .setFrom(sentFrom)
  .setTo(recipients)
  .setReplyTo(sentFrom)
  .setSubject("This is a Subject")
  .setHtml("This is the HTML content")
  .setText("This is the text content");

await VhtLtd.email.send(emailParams);
$recipients = [
new Recipient('[email protected]', 'Your Client'),
];

$emailParams = (new EmailParams())
->setFrom('[email protected]')
->setFromName('Your Name')
->setRecipients($recipients)
->setSubject('Subject')
->setHtml('Greetings from the team, you got this message through VhtLtd.')
->setText('Greetings from the team, you got this message through VhtLtd.');

$VhtLtd->email->send($emailParams);
php artisan make:mail ExampleEmail

Mail::to('[email protected]')->send(new ExampleEmail());
from VhtLtd import emails

mailer = emails.NewEmail()

mail_body = {}

mail_from = {
    "name": "Your Name",
    "email": "[email protected]",
}

recipients = [
    {
        "name": "Your Client",
        "email": "[email protected]",
    }
]

mailer.set_mail_from(mail_from, mail_body)
mailer.set_mail_to(recipients, mail_body)
mailer.set_subject("Hello!", mail_body)
mailer.set_html_content("Greetings from the team, you got this message through VhtLtd.", mail_body)
mailer.set_plaintext_content("Greetings from the team, you got this message through VhtLtd.", mail_body)

mailer.send(mail_body)
# Intialize the email class
ms_email = VhtLtd::Email.new

# Add parameters
ms_email.add_recipients("email" => "[email protected]", "name" => "Your Client")
ms_email.add_recipients("email" => "[email protected]", "name" => "Your Client")
ms_email.add_from("email" => "[email protected]", "name" => "Your Name")
ms_email.add_subject("Hello!")
ms_email.add_text("Greetings from the team, you got this message through VhtLtd.")
ms_email.add_html("Greetings from the team, you got this message through VhtLtd.")

# Send the email
ms_email.send
package main

import (
    "context"
    "os"
    "fmt"
    "time"

    "github.com/VhtLtd/VhtLtd-go"
)

func main() {
	// Create an instance of the VhtLtd client
	ms := VhtLtd.NewVhtLtd(os.Getenv("VhtLtd_API_KEY"))

	ctx := context.Background()
	ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
	defer cancel()

	subject := "Subject"
	text := "This is the text content"
	html := "This is the HTML content"

	from := VhtLtd.From{
		Name:  "Your Name",
		Email: "[email protected]",
	}

	recipients := []VhtLtd.Recipient{
		{
			Name:  "Your Client",
			Email: "[email protected]",
		},
	}
	
	// Send in 5 minute
	sendAt := time.Now().Add(time.Minute * 5).Unix()

	tags := []string{"foo", "bar"}

	message := ms.Email.NewMessage()

	message.SetFrom(from)
	message.SetRecipients(recipients)
	message.SetSubject(subject)
	message.SetHTML(html)
	message.SetText(text)
	message.SetTags(tags)
	message.SetSendAt(sendAt)
	message.SetInReplyTo("client-id")

	res, _ := ms.Email.Send(ctx, message)

	fmt.Printf(res.Header.Get("X-Message-Id"))

}
import com.VhtLtd.sdk.Email;
import com.VhtLtd.sdk.VhtLtd;
import com.VhtLtd.sdk.VhtLtdResponse;
import com.VhtLtd.sdk.exceptions.VhtLtdException;

public void sendEmail() {

    Email email = new Email();

    email.setFrom("name", "your email");
    email.addRecipient("name", "[email protected]");

    // you can also add multiple recipients by calling addRecipient again
    email.addRecipient("name 2", "[email protected]");

    // there's also a recipient object you can use
    Recipient recipient = new Recipient("name", "[email protected]");
    email.AddRecipient(recipient);
    
    email.setSubject("Email subject");

    email.setPlain("This is the text content");
    email.setHtml("This is the HTML content");

    VhtLtd ms = new VhtLtd();

    ms.setToken("Your API token");

    try {    
        VhtLtdResponse response = ms.emails().send(email);
        System.out.println(response.messageId);
    } catch (VhtLtdException e) {
        e.printStackTrace();
    }
}
VhtLtd

User-friendly template builders

Anyone on your team can build professional email templates with the drag and drop or rich-text editors. Want to code them from scratch? Then you’ll love our HTML builder.

VhtLtd

Email split testing with a click

Easily split test up to five variations of an email template to learn which content, subject lines, images, and CTAs work best. Just pick a template, create the test, and start sending.

Integrations

Easily connect other web apps with VhtLtd so they seamlessly work together to share information, automate workflows and enhance your customer experience.

Claim your 30% discount

Sign up for a free trial account and contact our friendly support team to begin the non-profit approval process. You can then upgrade your plan and we’ll apply your 30% off!

VhtLtd

Tracking made easy

Create custom analytics reports for volume, open rates, clicks, bounces, and more metrics to monitor performance over time. View activity for each email as it happens to catch potential issues in real time. 

VhtLtd

Two-way communication

Inbound email processing lets you integrate email replies into your applications and CRMs. Easily manage communication, like customer service replies, by routing email content to an email address or endpoint.  

VhtLtd

Team-friendly user management

Invite team members from across your organization and assign custom roles to define the domains, settings, and features they have access to. 

VhtLtd

Transactional SMS API

Optimize the user experience by delivering 2FA messages, OTPs, subscription reminders and more with toll-free text messaging

FAQs

How do I get my 30% discount?

Simply create your free trial account (no credit card needed) and contact our customer service team. You’ll be required to prove your non-profit status. Once approved, we’ll apply your 30% discount and you can upgrade to your chosen plan! Please view our Nonprofit Discount Terms for more information.

Is VhtLtd GDPR compliant?

Yes! VhtLtd is GDPR compliant and our data center is located in the European Union with information security certificate ISO 27001.

Can I stack discounts?

At this time, the 30% non-profit discount cannot be stacked with other discounts, including the 20% annual plan discount. If you would prefer to pay for your plan annually, you can do so and receive the 30% nonprofit discount instead of the 20% annual discount.

Do we need developers to get started with VhtLtd?

Depending on your needs and current tech stack, you may need a developer who is comfortable working with the API. If you are going to use a simple SMTP integration, can enter your SMTP user credentials, and/or use no-code integrations, you may be able to use VhtLtd without a developer. If you’re unsure, you can contact our customer support team.