Files
PersonalBlog/js/mailto.js
T

16 lines
569 B
JavaScript

/**
* Build a `mailto:` URL from an address, subject, and body.
* Subject and body are URL-encoded so the visitor's mail client
* opens pre-filled with the submitted values.
*
* @param {{to?: string, subject?: string, body?: string}} options
* @returns {string}
*/
export function buildMailtoUrl({ to = "", subject = "", body = "" } = {}) {
const params = new URLSearchParams();
if (subject) params.set("subject", subject);
if (body) params.set("body", body);
const query = params.toString();
return query ? `mailto:${to}?${query}` : `mailto:${to}`;
}