Connect an SMTP mailbox
curl --request POST \
--url https://api.snowseo.com/v3/outreach/sending-accounts/smtp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"smtpHost": "<string>",
"smtpUser": "<string>",
"smtpPassword": "<string>",
"teamId": "<string>",
"displayName": "<string>",
"smtpPort": 123,
"smtpEncryption": "<string>",
"imapHost": "<string>",
"imapPort": 123,
"imapSecure": true,
"imapUser": "<string>",
"imapPassword": "<string>"
}
'import requests
url = "https://api.snowseo.com/v3/outreach/sending-accounts/smtp"
payload = {
"email": "<string>",
"smtpHost": "<string>",
"smtpUser": "<string>",
"smtpPassword": "<string>",
"teamId": "<string>",
"displayName": "<string>",
"smtpPort": 123,
"smtpEncryption": "<string>",
"imapHost": "<string>",
"imapPort": 123,
"imapSecure": True,
"imapUser": "<string>",
"imapPassword": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
smtpHost: '<string>',
smtpUser: '<string>',
smtpPassword: '<string>',
teamId: '<string>',
displayName: '<string>',
smtpPort: 123,
smtpEncryption: '<string>',
imapHost: '<string>',
imapPort: 123,
imapSecure: true,
imapUser: '<string>',
imapPassword: '<string>'
})
};
fetch('https://api.snowseo.com/v3/outreach/sending-accounts/smtp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/outreach/sending-accounts/smtp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'smtpHost' => '<string>',
'smtpUser' => '<string>',
'smtpPassword' => '<string>',
'teamId' => '<string>',
'displayName' => '<string>',
'smtpPort' => 123,
'smtpEncryption' => '<string>',
'imapHost' => '<string>',
'imapPort' => 123,
'imapSecure' => true,
'imapUser' => '<string>',
'imapPassword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/outreach/sending-accounts/smtp"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.snowseo.com/v3/outreach/sending-accounts/smtp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/outreach/sending-accounts/smtp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"account": {
"id": "<string>",
"provider": "<string>",
"email": "<string>",
"displayName": "<string>",
"dailyLimit": 123,
"isActive": true,
"connectedAt": "<string>"
},
"canReceive": true
}{
"success": true,
"error": "<string>",
"code": "<string>",
"message": "<string>",
"reference": "<string>"
}Email sending
Connect a mailbox
Connect a mailbox by its mail-server settings.
POST
/
v3
/
outreach
/
sending-accounts
/
smtp
Connect an SMTP mailbox
curl --request POST \
--url https://api.snowseo.com/v3/outreach/sending-accounts/smtp \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "<string>",
"smtpHost": "<string>",
"smtpUser": "<string>",
"smtpPassword": "<string>",
"teamId": "<string>",
"displayName": "<string>",
"smtpPort": 123,
"smtpEncryption": "<string>",
"imapHost": "<string>",
"imapPort": 123,
"imapSecure": true,
"imapUser": "<string>",
"imapPassword": "<string>"
}
'import requests
url = "https://api.snowseo.com/v3/outreach/sending-accounts/smtp"
payload = {
"email": "<string>",
"smtpHost": "<string>",
"smtpUser": "<string>",
"smtpPassword": "<string>",
"teamId": "<string>",
"displayName": "<string>",
"smtpPort": 123,
"smtpEncryption": "<string>",
"imapHost": "<string>",
"imapPort": 123,
"imapSecure": True,
"imapUser": "<string>",
"imapPassword": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: '<string>',
smtpHost: '<string>',
smtpUser: '<string>',
smtpPassword: '<string>',
teamId: '<string>',
displayName: '<string>',
smtpPort: 123,
smtpEncryption: '<string>',
imapHost: '<string>',
imapPort: 123,
imapSecure: true,
imapUser: '<string>',
imapPassword: '<string>'
})
};
fetch('https://api.snowseo.com/v3/outreach/sending-accounts/smtp', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.snowseo.com/v3/outreach/sending-accounts/smtp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => '<string>',
'smtpHost' => '<string>',
'smtpUser' => '<string>',
'smtpPassword' => '<string>',
'teamId' => '<string>',
'displayName' => '<string>',
'smtpPort' => 123,
'smtpEncryption' => '<string>',
'imapHost' => '<string>',
'imapPort' => 123,
'imapSecure' => true,
'imapUser' => '<string>',
'imapPassword' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/outreach/sending-accounts/smtp"
payload := strings.NewReader("{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.snowseo.com/v3/outreach/sending-accounts/smtp")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/outreach/sending-accounts/smtp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"<string>\",\n \"smtpHost\": \"<string>\",\n \"smtpUser\": \"<string>\",\n \"smtpPassword\": \"<string>\",\n \"teamId\": \"<string>\",\n \"displayName\": \"<string>\",\n \"smtpPort\": 123,\n \"smtpEncryption\": \"<string>\",\n \"imapHost\": \"<string>\",\n \"imapPort\": 123,\n \"imapSecure\": true,\n \"imapUser\": \"<string>\",\n \"imapPassword\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"account": {
"id": "<string>",
"provider": "<string>",
"email": "<string>",
"displayName": "<string>",
"dailyLimit": 123,
"isActive": true,
"connectedAt": "<string>"
},
"canReceive": true
}{
"success": true,
"error": "<string>",
"code": "<string>",
"message": "<string>",
"reference": "<string>"
}Connects a mailbox by its mail-server settings.
POST /v3/outreach/sending-accounts/smtp/test and POST /v3/outreach/sending-accounts/imap/test verify the credentials without saving them.
The reading settings are optional. Without them the mailbox sends normally but replies never come back into SnowSEO.
These endpoints take mailbox passwords, so they are not exposed as MCP tools - connecting a mailbox is not something an AI assistant should do on your behalf. Connect mailboxes from Settings → Integrations → Sending accounts in the dashboard.
Authorizations
bearerAuthapiKey
Your SnowSEO API key (sk_...).
Body
application/json
Mailbox address.
Outgoing mail server.
SMTP username.
SMTP password.
Name shown in the From header.
SMTP port.
One of: ssl, tls, none. Defaults to tls.
Incoming mail server. Turns on reply reading.
IMAP port.
Use TLS for IMAP.
IMAP username. Falls back to the SMTP username.
IMAP password. Falls back to the SMTP password.
Was this page helpful?

