dsmailer
v0.0.0
Published
[](https://github.com/winstxnhdw/mail-worker/actions/workflows/main.yml) [)
Request Headers
| name | type | description | | ------------- | -------- | --------------------------------- | | Authorization | optional |
AUTH_TOKENenvironment variable |
Parameters
| name | type | data type | description | | --------- | -------- | ----------------------- | --------------------------------------------------------------------- | | to | required |
string[]| recipient's email address(es) | | from | required |string| sender's email address | | subject | required |string| email subject | | html | required |string| email content |
Responses
| http code | content-type | response | | ------------- | ------------------------------ | --------------------------------------------------------------------- | |
200|text/plain|Email sent!| |400|text/plain|Invalid request!| |401|text/plain|Unauthorised! Please check your token in the request.| |500|text/plain|Failed to send email!|
Example cURL
curl $MAIL_WORKER_ENDPOINT -H "Content-Type: application/json" -d \ '{ "to": ["[email protected]"], "from": "[email protected]", "subject": "test", "html": "test" }'
Example cURL with Authentication
curl $MAIL_WORKER_ENDPOINT \ -H "Authorization: $AUTH_TOKEN" \ -H "Content-Type: application/json" -d \ '{ "to": ["[email protected]"], "from": "[email protected]", "subject": "test", "html": "test" }'
Setup
Environment
Your worker must have the following environment variables.
echo $AWS_REGION | npx wrangler secret put AWS_REGION
echo $AWS_ACCESS_KEY_ID | npx wrangler secret put AWS_ACCESS_KEY_ID
echo $AWS_SECRET_ACCESS_KEY | npx wrangler secret put AWS_SECRET_ACCESS_KEYAuthentication
Optionally, you may secure your endpoint by setting the following environment variable.
echo $AUTH_TOKEN | npx wrangler secret put AUTH_TOKENVerify Email
To use any sender email, the email must first be verified. The verification will require the following environment variables. You may populate your environment with the following.
{
echo "AWS_REGION=$AWS_REGION"
echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID"
echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY"
} >> .envNow, pipe your email to the verify-email script.
echo $EMAIL_ADDRESS | bun verify-email