Free SMTP Relay

Free SMTP Server For Your Transactional Emails

Start sending transactional emails using AhaSend SMTP servers in minutes- it's fast, scalable, and free for up to 1,000 emails per month.

Send emails using SMTP from anywhere

SMTP is the most widely supported protocol for sending emails with libraries available in almost any language, and native support in any application that needs to send emails. Start sending in emails minutes!

object
object
object
swaks \
        --from [email protected] \
        --to [email protected] \
        --server send.ahasend.com \
        --port 587 \
        --auth plain \
        --tls \
        --auth-user 'YOUR_SMTP_USERNAME' \
        --auth-password 'YOUR_SMTP_PASSWORD' \
        --header 'Subject: Test email' \
        --body "This is a test email."

Install dependencies

$ npm i nodemailer
const nodemailer = require('nodemailer');
// Create a transporter object using the SMTP transport
let transporter = nodemailer.createTransport({
    host: 'send.ahasend.com',
    port: 587,
    requireTLS: true, //Force TLS
    auth: {
        user: 'YOUR_SMTP_USERNAME', // SMTP username
        pass: 'YOUR_SMTP_PASSWORD', // SMTP password
    },
});
// Email options
let mailOptions = {
    from: '"Your Name" <[email protected]>', // sender address
    to: '[email protected]', // list of receivers
    subject: 'Hello ✔', // Subject line
    text: 'Hello world?', // plain text body
    html: '<b>Hello world?</b>', // html body
};
// Send email
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: %s', info.messageId);
});

Install dependencies

$ go get gopkg.in/gomail.v2
                                                email := gomail.NewMessage()
email.SetAddressHeader("From", "[email protected]", "My awesome startup")
email.SetAddressHeader("To", "[email protected]", "Someone")
email.SetHeader("Subject", "Sample email")
email.SetBody("text/plain", "Plain text body")
email.SetBody("text/html", "<p>This is the <b>HTML</b> body</p>")

// Port can be 25, 2525, or 587
d := gomail.NewDialer("send.ahasend.com", 587, "YOUR_SMTP_USERNAME", "YOUR_SMTP_PASSWORD")
if err := d.DialAndSend(msg); err != nil {
    log.Fatal(err)
}
require 'net/smtp'

message = <<~MESSAGE_END
    From: Your Name 
    To: Recipient Name 
    Subject: SMTP Test Email
    Date: #{Time.now.rfc2822}

    This is a test email sent using net/smtp in Ruby.
MESSAGE_END

smtp_settings = {
    address: 'send.ahasend.com',
    port: 587,
    domain: 'domain.com', # your domain
    user_name: 'YOUR_SMTP_USERNAME',
    password: 'YOUR_SMTP_PASSWORD',
    authentication: 'plain',
    enable_starttls_auto: true
}

Net::SMTP.start(
    smtp_settings[:address],
    smtp_settings[:port],
    smtp_settings[:domain],
    smtp_settings[:user_name],
    smtp_settings[:password],
    smtp_settings[:authentication]
) do |smtp|
    smtp.enable_starttls
    smtp.send_message message, '[email protected]', '[email protected]'
end

Install dependencies

$ python -m pip install requests
import smtplib
from email.message import EmailMessage
def send_plain_text_email():
    smtp_server = "send.ahasend.com"
    smtp_port = 587
    smtp_username = "YOUR_SMTP_USERNAME"
    smtp_password = "YOUR_SMTP_PASSWORD"
    from_addr = "[email protected]"
    to_addr = "[email protected]"
    subject = "Test Email"
    body = "Hello, this is a test email sent from Python."
    # Create the email message
    msg = EmailMessage()
    msg.set_content(body)
    msg['Subject'] = subject
    msg['From'] = from_addr
    msg['To'] = to_addr
    # Connect to the SMTP server
    server = smtplib.SMTP(smtp_server, smtp_port)
    server.starttls()  # Secure the connection
    server.login(smtp_username, smtp_password)
    server.send_message(msg)
    server.quit()
send_plain_text_email()
use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;

require 'vendor/autoload.php';

$transport = Transport::fromDsn(
  'smtp://YOUR_SMTP_USERNAME:[email protected]:587'
);
$mailer = new Mailer($transport);

$email = (new Email())
    ->from('[email protected]')
    ->to('[email protected]')
    ->subject('Time for Symfony Mailer!')
    ->text('Sending emails is fun!')
    ->html('<p>See Twig integration for better HTML integration!</p>');

$attachment = Attachment::fromPath('/path/to/file.pdf');
$email->attach($attachment);

$mailer->send($email);

echo 'Message has been sent';
Optimized for transactional emails

Fast and reliable email delivery

When it comes to transactional emails like OTPs and Confirmation emails, delivery speed is everything. AhaSend is built for transactional emails and fast delivery. 

  • Deliver your emails at lightning speeds: we have a track record of delivering emails to Gmail in under 1 seconds, and to other providers in under 5 seconds.
  • Improve your inbox placement: Sending transactional emails only improves deliverability, and we only send transactional emails. Get your emails to the inbox where they belong!
  • Automated blocklist management: AhaSend keeps your domain reputation high and improves your email deliverability by automatically managing bounces and creating blocklists on your behalf.
SMTP server for transactional emails with fast delivery speeds
Code sample in golang showing different SMTP ports provided by AhaSend
Various sending ports

Send from ports that work for you

ISPs and networks often place limitations on standard SMTP relay ports. AhaSend supports a variety of SMTP ports to give you more flexibility when it comes to sending with SMTP. We require STARTTLS encryption on all emails to improve security. You can send from any of the following ports

  • 25
  • 587
  • 2525
Email routing

Easily process inbound emails

AhaSend simplifies integrating email data into your systems by allowing you to route inbound message to a HTTP endpoint and receive the message data in a POST request instead of having to deal with inbound SMTP sessions directly.

  • Get structured JSON or raw email data
  • Automatically remove signatures and quoted replies
  • Get latest reply as a separate JSON property.
Receive inbound emails on your specified HTTP endpoints in JSON format by defining message routes
Search, find and debug specific email messages with AhaSend's powerful search functionality and find messages by subject, sender, recipient, status, inbound or outbound direction, or date and time.
Debugging emails

Debug with realtime logs and search

Debugging SMTP issues can be hard. AhaSend simplifies troubleshooting email delivery issues by providing

  • Raw, unaltered SMTP delivery logs
  • Fully searchable message activity by FROM, TO, delivery status, and more
  • Providing real-time webhook events for message delivery events
There's more

Extend Your Reach with Advanced Features.

Dive deeper into our suite of tools designed to optimize your email integrations and enhance your application's capabilities.

Tracking

Get insight on email engagement with message open and link click tracking.

Learn more
Email API

SMTP is good, but HTTP APIs are more flexible and faster for large senders.

Learn more
Message Retention Policies

Customize retention policies for your message data and metadata.

Learn more
Email Archiving

Archive your emails on any s3-compatible block storage service for compliance requirements.

Learn more
Free Dedicated IPs

Large senders sending over 300k emails per month get dedicated IPs - free of charge!

Learn more
Support by engineers

Get support from real engineers and deliverability experts.

Contact support

Join Thousands of Developers Using AhaSend