knadh / listmonk

High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app.
https://listmonk.app
GNU Affero General Public License v3.0
15.08k stars 1.38k forks source link

535 Authentication Credentials Invalid issue with Amazon SES #2076

Closed tristam15 closed 3 weeks ago

tristam15 commented 3 weeks ago

I've been trying to set up listmonk on Digital Ocean and I finished all the steps and Listmonk is now successfully running on port 9000 of my droplet.

For the past 2 hours, I have been trying to configure the SMTP settings of Amazon SES. No matter what credentials I use, it says invalid credentials.

My question is, where do we get these SMTP credentials that work from Amazon SES? Are they

  1. AWS Console Login Credentials?
  2. Access Keys?
  3. Something else?

When I click on Manage SMTP Credentials, it takes me the IAM page. I am stuck there and I have tried the above mentioned credentials but it does not work. It just does not work. This is infuriating that it is this complex.

Help appreciated.

Thank you.

tristam15 commented 3 weeks ago

Update

After some research, I figured it out.

Here is what you need to do.

  1. Create a User
  2. Create an Access Key for the User (the access key ID will be your username, but the Secret Key won't be your password)
  3. Download the CSV for this key pair.
  4. Go to this official link and copy the python script into a file named smtp_credentials_generate.py
  5. Execute the script with the command
    python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1

    In the preceding command, do the following:

Replace path/to/ with the path to the location where you saved smtp_credentials_generate.py.

Replace wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY with the secret access key that you want to convert into an SMTP password.

Replace us-east-1 with the AWS Region in which you want to use the SMTP credentials.

  1. When this script runs successfully, the only output is your SMTP password.
  2. Take this Access Key ID and Password generated by this Python script and put it into Listmonk.
  3. Send a Test Email.
  4. Success! You got it to work.

I'm disappointed to see Amazon SES doesn't have a better way. Listmonk should at least have a tutorial for this. Anyway, I think this can serve as the tutorial now.

MaximilianKohler commented 3 weeks ago

There is a "tutorials" section in the docs that covers this.