Skip to content

Email

Send emails with std/email. You can only send emails to yourself if you’re on Val Town Free. If you’re on Val Town Pro, you can email anyone.

Basic usage

ExampleRun in Val Town ↗
import { email } from "https://esm.town/v/std/email";
await email({ subject: "New Ink & Switch Post!", text: "https://www.inkandswitch.com/embark/" });

subject

The email subject line. It defaults to Message from @your_username on Val Town.

to, cc, and bcc

By default, the to field is set to the owner of the Val Town account that calls it.

If you have Val Town Pro, you can send emails to anyone via the to, cc, and bcc fields.

If you don’t have Val Town Pro, you can only send emails to yourself, so leave those fields blank.

from

The from is limited to a few options:

  1. It defaults to notifications@val.town if you don’t specify it.

  2. If you do specify it, it must be of the form: your_username.valname@valtown.email.

replyTo

replyTo accepts a string email or an object with strings for email and name (optional).

This can be useful if you are sending emails to others with Val Town Pro.

replyToRun in Val Town ↗
import { email } from "https://esm.town/v/std/email";
await email({
to: "someone_else@example.com",
from: "your_username.valname@valtown.email",
replyTo: "your_email@example.com",
text: "these pretzels are making me thirsty",
});

Attachments

You can attach files to your emails by using the attachments field. Attachments need to be Base64 encoded, which is that the btoa method is doing in this example:

Attachments exampleRun in Val Town ↗
import { email } from "https://esm.town/v/std/email";
export const stdEmailAttachmentExample = email({
attachments: [
{
content: btoa("hello attachments!"),
filename: "test.txt",
type: "text",
disposition: "attachment",
},
],
});

Here’s an example sending a PDF.

Fork it on