Copy-paste SMTP setup for sending transactional email through Viesti from your framework or platform: the settings, a minimal send, how to test it, and the errors you are likely to hit.
- Send email from Node.js with NodemailerSend transactional email from Node.js with Nodemailer over SMTP: STARTTLS on port 587, API key from the environment, a tested example and common errors.
- Send email from Python with smtplibSend transactional email from Python with smtplib and EmailMessage: STARTTLS on port 587 or SMTP_SSL on 465, a tested script and common errors.
- Send email from Django over SMTPConfigure Django to send email over SMTP with the MAILERS setting (6.1) or EMAIL_* settings (5.2, 6.0), send_mail, sendtestemail and common errors.
- Send email from Rails with Action MailerConfigure Rails Action Mailer smtp_settings with STARTTLS on port 587 and the API key in encrypted credentials, then send and debug your first email.
- Send email from Laravel over SMTPLaravel SMTP setup for transactional email: .env MAIL_* values with MAIL_SCHEME for Laravel 11 to 13, a Mail::raw test and fixes for common errors.
- Send email from Go with net/smtpSend transactional email from Go with net/smtp: SendMail with STARTTLS on port 587, an implicit TLS client for port 465, and common errors.
- Send email from Spring Boot with JavaMailSenderSpring Boot SMTP setup for transactional email: spring.mail properties for STARTTLS on port 587, a JavaMailSender service, port 465 and common errors.
- Send WordPress email over SMTPWordPress SMTP setup for wp_mail(): the WP Mail SMTP plugin's Other SMTP mailer or a phpmailer_init snippet, with STARTTLS on port 587 and a test email.
- Custom SMTP for Supabase Auth emailsSet up Supabase Auth custom SMTP with Viesti: the dashboard SMTP fields, port 587 or 465, the sender on a verified domain, and Supabase rate limits.
The settings every guide uses
| Setting |
Value |
| Host |
smtp.viesti.email |
| Port |
587 with STARTTLS, or 465 with TLS from the first byte |
| Username |
apikey |
| Password |
Your API key: mr_ followed by 64 hex characters |
| Authentication |
PLAIN, offered only once the connection is encrypted |
Each guide reads the API key from the environment or the framework's secret store instead of source code, and sends from an address on a domain verified in your workspace; see DNS setup. For the protocol details see the SMTP reference. To send JSON over HTTPS instead of SMTP, use the HTTP API.