releases.shpreview

Email Service - Send emails with named recipient addresses

You can now send emails with display names on recipient addresses in addition to the existing from support. Pass an object with email and an optional name field for to, cc, bcc, replyTo, or from:

  • JavaScript

    <div><div><span>export</span><span> </span><span>default</span><span> </span><span>{</span></div></div><div><div><span>  </span><span>async</span><span> </span><span>fetch</span><span>(</span><span>request</span><span>,</span><span> </span><span>env</span><span>)</span><span> </span><span>{</span></div></div><div><div><span>    </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>env</span><span>.</span><span>EMAIL</span><span>.</span><span>send</span><span>(</span><span>{</span></div></div><div><div><span><span>      </span></span><span>from</span><span>:</span><span> </span><span>{</span><span> email</span><span>:</span><span> </span><span>"support@example.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Support Team"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>to</span><span>:</span><span> </span><span>{</span><span> email</span><span>:</span><span> </span><span>"jane@example.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Jane Doe"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>cc</span><span>:</span><span> [</span></div></div><div><div><span>        </span><span>"manager@company.com"</span><span>,</span></div></div><div><div><span>        </span><span>{</span><span> email</span><span>:</span><span> </span><span>"team@company.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Engineering Team"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>]</span><span>,</span></div></div><div><div><span><span>      </span></span><span>subject</span><span>:</span><span> </span><span>"Welcome!"</span><span>,</span></div></div><div><div><span><span>      </span></span><span>html</span><span>:</span><span> </span><span>"<h1>Thanks for joining!</h1>"</span><span>,</span></div></div><div><div><span><span>      </span></span><span>text</span><span>:</span><span> </span><span>"Thanks for joining!"</span><span>,</span></div></div><div><div><span>    </span><span>}</span><span>)</span><span>;</span></div></div><div><div>
    </div></div><div><div><span>    </span><span>return</span><span> </span><span>Response</span><span>.</span><span>json</span><span>(</span><span>{</span><span> messageId</span><span>:</span><span> </span><span>response</span><span>.</span><span>messageId</span><span> </span><span>}</span><span>)</span><span>;</span></div></div><div><div><span>  </span><span>},</span></div></div><div><div><span>};</span></div></div>
  • TypeScript

    <div><div><span>export</span><span> </span><span>default</span><span> </span><span>{</span></div></div><div><div><span>  </span><span>async</span><span> </span><span>fetch</span><span>(</span><span>request</span><span>,</span><span> </span><span>env</span><span>)</span><span>:</span><span> </span><span>Promise</span><span><</span><span>Response</span><span>></span><span> </span><span>{</span></div></div><div><div><span>    </span><span>const</span><span> </span><span>response</span><span> </span><span>=</span><span> </span><span>await</span><span> </span><span>env</span><span>.</span><span>EMAIL</span><span>.</span><span>send</span><span>(</span><span>{</span></div></div><div><div><span><span>      </span></span><span>from</span><span>:</span><span> </span><span>{</span><span> email</span><span>:</span><span> </span><span>"support@example.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Support Team"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>to</span><span>:</span><span> </span><span>{</span><span> email</span><span>:</span><span> </span><span>"jane@example.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Jane Doe"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>cc</span><span>:</span><span> [</span></div></div><div><div><span>        </span><span>"manager@company.com"</span><span>,</span></div></div><div><div><span>        </span><span>{</span><span> email</span><span>:</span><span> </span><span>"team@company.com"</span><span>,</span><span> name</span><span>:</span><span> </span><span>"Engineering Team"</span><span> </span><span>},</span></div></div><div><div><span><span>      </span></span><span>]</span><span>,</span></div></div><div><div><span><span>      </span></span><span>subject</span><span>:</span><span> </span><span>"Welcome!"</span><span>,</span></div></div><div><div><span><span>      </span></span><span>html</span><span>:</span><span> </span><span>"<h1>Thanks for joining!</h1>"</span><span>,</span></div></div><div><div><span><span>      </span></span><span>text</span><span>:</span><span> </span><span>"Thanks for joining!"</span><span>,</span></div></div><div><div><span>    </span><span>}</span><span>)</span><span>;</span></div></div><div><div>
    </div></div><div><div><span>    </span><span>return</span><span> </span><span>Response</span><span>.</span><span>json</span><span>(</span><span>{</span><span> messageId</span><span>:</span><span> </span><span>response</span><span>.</span><span>messageId</span><span> </span><span>}</span><span>)</span><span>;</span></div></div><div><div><span>  </span><span>},</span></div></div><div><div><span>}</span><span> </span><span>satisfies</span><span> </span><span>ExportedHandler</span><span><</span><span>Env</span><span>>;</span></div></div>

Plain strings remain fully supported for backward compatibility, and you can mix strings and named objects in the same array.

Refer to the Workers API and REST API documentation for full request examples.

Fetched June 19, 2026