Skip to content

shaftoe/webmail

Repository files navigation

webmail

A simple Vue3-based web interface to send emails via AWS Lambda: https://webmail.l3x.in/

Use dedicated IAM user's as log-in credentials

web page login screenshot

Browser will ask to save them.

NOTE: associated IAM policy should allow only the specific Lambda function execution defined in vue.config.js, e.g.

{
    "Sid": "LambdaInvoke",
    "Effect": "Allow",
    "Action": [
        "lambda:InvokeFunction"
    ],
    "Resource": "<ARN of your function>"
}

More details at https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html

If you use AWS CDK you might want to simply add something like this to your stack.

Send with customizable FROM address

Mail actually delivered by MailJet (via AWS Lambda proxy)

web page send screenshot

Development

npm install  # install dependencies
make server  # spin up a local Vue3 development server
make build   # create a build in `dist/`