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.
Want to receive emails instead? Create an email handler val
import { email }
from "https://esm.town/v/std/email";
await email({
subject:
"New Ink & Switch Post!",
text:
"https://www.inkandswitch.com/embark/" });
The email subject line. It defaults to Message from @your_username on Val Town
.
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.
The from
is limited to a few options:
-
It defaults to notifications@val.town
if you don't specify it.
-
If you do specify it, it must be of the form: your_username.valname@valtown.email
.
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.
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",
});
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:
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.
๐ Edit docs
Is this still what we should be using to send emails?
I noticed the type says RPC (deprecated). That makes me think we should be using something else now but the docs still link here.
Good catch! It should be a script type val. Fixed it!
Great, thank you!