// sdks

SDKs.

Six official SDKs, all open source, all generated from the same OpenAPI spec — so they keep parity at every release. Direct REST works just fine if your language is not on this list.

Node.js

github.com/voltmail/voltmail-node
npm install voltmail
node.jsimport { VoltMail } from 'voltmail';

const vm = new VoltMail(process.env.VOLTMAIL_API_KEY);

await vm.emails.send({
  from: 'noreply@receipts.acme.dev',
  to: ['jane@example.com'],
  subject: 'Hello',
  text: 'It works.',
});

Python

github.com/voltmail/voltmail-python
pip install voltmail
pythonimport voltmail

vm = voltmail.Client(api_key=os.environ["VOLTMAIL_API_KEY"])

vm.emails.send(
    from_="noreply@receipts.acme.dev",
    to=["jane@example.com"],
    subject="Hello",
    text="It works.",
)

Go

github.com/voltmail/voltmail-go
go get github.com/voltmail/voltmail-go
govm := voltmail.New(os.Getenv("VOLTMAIL_API_KEY"))

_, err := vm.Emails.Send(ctx, &voltmail.Email{
    From:    "noreply@receipts.acme.dev",
    To:      []string{"jane@example.com"},
    Subject: "Hello",
    Text:    "It works.",
})

Ruby

github.com/voltmail/voltmail-ruby
gem install voltmail
rubyrequire 'voltmail'

vm = VoltMail::Client.new(api_key: ENV['VOLTMAIL_API_KEY'])

vm.emails.send(
  from:    'noreply@receipts.acme.dev',
  to:      ['jane@example.com'],
  subject: 'Hello',
  text:    'It works.',
)

PHP

github.com/voltmail/voltmail-php
composer require voltmail/voltmail
php$vm = new VoltMail\Client($_ENV['VOLTMAIL_API_KEY']);

$vm->emails->send([
  'from'    => 'noreply@receipts.acme.dev',
  'to'      => ['jane@example.com'],
  'subject' => 'Hello',
  'text'    => 'It works.',
]);

Rust

github.com/voltmail/voltmail-rs
cargo add voltmail
rustlet vm = voltmail::Client::new(env::var("VOLTMAIL_API_KEY")?);

vm.emails().send(voltmail::Email {
    from:    "noreply@receipts.acme.dev".into(),
    to:      vec!["jane@example.com".into()],
    subject: "Hello".into(),
    text:    Some("It works.".into()),
    ..Default::default()
}).await?;