Skip to content

hugmouse/maddy-password-reset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Banner

Maddy Password Reset Service

Runs an HTTP server that serves a password reset form. It should be installed on the same server where Maddy is running.

How It Works

It runs the maddy creds password -p command to change a user's password.

Use Cases

  • You are currently logged into your mailbox and want to reset the password.
    • For example, you registered a user, and the user wants to change their password.

Installation

For the time being, you need to compile it yourself.

Requirements

  • Go
  • Maddy (on the server, we need its CLI)

To build this project, install Go and execute the following command:

go build ./main.go

Make sure to configure it first! The first compilation will take a moderate amount of time.

Configuration

By default, the web server starts on :1323. Make sure you hide it behind a reverse proxy.

You will probably need to edit the reset.gohtml template to suit your needs. For now, it contains a reset page in Russian for my hobby mail service.

The only way to change the configuration is to modify the constants in the main.go file:

  • MaddyPath – Path to Maddy's database, e.g., /var/lib/maddy/credentials.db
  • HostingURL – Your domain name, for example: http://localhost:1323/
  • SMTPMailUsername – Your full email address, for example: [email protected]
  • SMTPMailPassword – Your mailbox password
  • SMTPMailHostname – Your mail hostname, for example: mx1.local.host
  • MXServer – Your mail MX entry and PORT, for example: mx1.local.host:587
  • EmailFrom – The $FROM section of an email template, for example: [email protected]
  • EmailSubject – The $SUBJECT section of an email template
  • EmailMessage – The $MESSAGE section of an email template. Remember to provide a password reset link for the user using $RESET_LINK. For example: Here's your reset link: $RESET_LINK\r\n
  • EmailTemplate – Your reset email message
  • HTTPServerPort – HTTP server port

EmailTemplate Example

"To: $TO\r\n" +
"From: $FROM\r\n" +
"Content-Type: text/plain; charset=UTF-8\r\n" +
"Subject: $SUBJECT\r\n" +
"\r\n" +
"$MESSAGE\r\n"

About

Maddy password reset service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages