Get custom SMTP settings
curl --request GET \
--url https://api.snowseo.com/v3/settings/brand/smtp \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/settings/brand/smtp"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/settings/brand/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/settings/brand/smtp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/settings/brand/smtp"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/settings/brand/smtp")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/settings/brand/smtp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"enabled": true,
"host": "<string>",
"port": 123,
"encryption": "<string>",
"user": "<string>",
"fromName": "<string>",
"fromEmail": "<string>",
"replyTo": "<string>",
"hasPassword": true
}
}Settings
Custom SMTP
Read, update, and test the custom SMTP mailbox used to deliver client reports.
GET
/
v3
/
settings
/
brand
/
smtp
Get custom SMTP settings
curl --request GET \
--url https://api.snowseo.com/v3/settings/brand/smtp \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.snowseo.com/v3/settings/brand/smtp"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.snowseo.com/v3/settings/brand/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/settings/brand/smtp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.snowseo.com/v3/settings/brand/smtp"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.snowseo.com/v3/settings/brand/smtp")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.snowseo.com/v3/settings/brand/smtp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"enabled": true,
"host": "<string>",
"port": 123,
"encryption": "<string>",
"user": "<string>",
"fromName": "<string>",
"fromEmail": "<string>",
"replyTo": "<string>",
"hasPassword": true
}
}Manage the custom SMTP mailbox that SnowSEO uses to send client reports and audit emails, so they arrive from your own domain instead of SnowSEO’s.
The
The SMTP configuration is stored on the organization, so it is shared by every brand.
GET needs team member access; PATCH and the test route need managed (admin/owner) access. Custom SMTP also requires the Scale plan (or AppSumo tier 3+); otherwise every route returns 403.GET response is masked - the stored password is never returned. Instead a hasPassword boolean tells you whether a password is on file.
GET response fields
The response is{ "success": true, "data": { ... } }, where data contains:
| Field | Description |
|---|---|
enabled | Whether custom SMTP is turned on. |
host | SMTP host, or null. |
port | SMTP port, or null. |
encryption | One of ssl, tls, or none. Defaults to tls. |
user | SMTP username, or null. |
fromName | Display name on outgoing mail, or null. |
fromEmail | From address, or null. |
replyTo | Reply-to address, or null. |
hasPassword | true when a password is stored. The password itself is never returned. |
Was this page helpful?

