Files
app
components
data
functions
api
_middleware.ts
common.ts
email.ts
gcloud.ts
permissions.ts
roblox-open-cloud.ts
upload.ts
public
.gitignore
.node-version
.prettierignore
OFL.txt
README.md
emotion-server.js
index.css
index.d.ts
package-lock.json
package.json
remix.config.js
server.ts
theme.ts
tsconfig.json
car-crushers-portal/functions/email.ts

30 lines
671 B
TypeScript

export default async function (
email: string,
sendingKey: string,
subject: string,
template: string,
variables: {
[k: string]: string;
},
) {
const body = new FormData();
body.append("from", "noreply@mail.carcrushers.cc");
body.append("subject", subject);
body.append("template", template);
body.append("to", email);
for (const [name, value] of Object.entries(variables))
body.append(`v:${name}`, value);
return await fetch(
"https://api.mailgun.net/v3/mail.carcrushers.cc/messages",
{
body,
headers: {
authorization: `Basic ${btoa("api" + ":" + sendingKey)}`,
},
method: "POST",
},
);
}