Already registered? Log in
Same reliable transactional and bulk sending you'd expect. But with 24/7 phone, chat and ticket support on every plan, servers on four continents, and email testing built right in.
Try SMTP2GO Free$10/mo $100/year
Good for testing or for sending small numbers of emails.
$10/mo $100/year
Good for testing or for sending small numbers of emails.
$10/mo $100/year
Good for testing or for sending small numbers of emails.
$75/mo $750/year
Full email sending control with enhanced reporting & features.
$75/mo $750/year
Full email sending control with enhanced reporting & features.
$75/mo $750/year
Full email sending control with enhanced reporting & features.
$75/mo $750/year
Full email sending control with enhanced reporting & features.
Custom $75/mo $750/year
Personalized setup & support for enterprise-level senders.
Our Promise: If you don’t love us within 30 days, we’ll give you a full refund.
*Limited to 14 days for the free plan.
$ 0/mo 0/year
$
$
If you've tried using APIs in the past, you'll know they are often extremely complex and frustrating.
Our API is designed to be used with the minimum of mental effort from your developers. We include full examples of code in multiple languages. See our API documentation.
$.ajax({
url: "https://api.smtp2go.com/v3/email/send",
method: 'POST',
headers: { 'Content-Type': "application/json" },
data: JSON.stringify({
'api_key': "api-526EA362E1E6AAD9F23C91C88F4E",
'to': [
"Dave <dave@example.com>"
],
'sender': "Matt <matt@example.com>",
'subject': "Testing smtp2go!",
'text_body': "Test message."
}),
})
.done(function(result) { console.log(result); })
.fail(function(err) { throw err; });
var request = require('request');
request.post({
url: "https://api.smtp2go.com/v3/email/send",
headers: { 'Content-Type': "application/json" },
body: JSON.stringify({
'api_key': "api-526EA362E1E6AAD9F23C91C88F4E",
'to': [
"Dave <dave@example.com>"
],
'sender': "Matt <matt@example.com>",
'subject': "Testing smtp2go!",
'text_body': "Test message."
}),
}, function(err, response, body){ console.log(body); });
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($curl, CURLOPT_URL, "https://api.smtp2go.com/v3/email/send");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(array(
"api_key" => "api-526EA362E1E6AAD9F23C91C88F4E",
"to" => array(
0 => "Dave <dave@example.com>"
),
"sender" => "Matt <matt@example.com>",
"subject" => "Testing smtp2go!",
"text_body" => "Test message."
)));
$result = curl_exec($curl);
echo $result;
?>
uri = URI("https://api.smtp2go.com/v3/email/send")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
headers = { "Content-Type" => "application/json" }
request = Net::HTTP::Post.new(uri.request_uri, headers)
request.body = {
"api_key" => "api-526EA362E1E6AAD9F23C91C88F4E",
"to" => [
"Dave <dave@example.com>"
],
"sender" => "Matt <matt@example.com>",
"subject" => "Testing smtp2go!",
"text_body" => "Test message."
}.to_json
@result = http.request(request).body
puts @result
import requests
import json
payload = {
"api_key": "api-526EA362E1E6AAD9F23C91C88F4E",
"to": [
"Dave <dave@example.com>"
],
"sender": "Matt <matt@example.com>",
"subject": "Testing smtp2go!",
"text_body": "Test message."
}
headers = { "Content-Type": "application/json" }
res = requests.post("https://api.smtp2go.com/v3/email/send", headers=headers, data=json.dumps(payload))
if res.status_code == requests.codes.ok:
print(res.json)
else:
print("An Error Occurred: " + res.text)
Try SMTP2GO free for as long as you like:
Try SMTP2GO Free → Paid plans available for over 1,000 emails/month.