Simple contact form to RSVP to a wedding. Written in Rust and powered by Rocket.rs.
Dennis
415d759fb6
If number of guests is 255 (which is the default value), no email will be sent to the recepient. Most normal users have Javascript enabled, so their browser should throw an error if the number of guests isn't filled out. |
||
---|---|---|
images | ||
src | ||
templates | ||
.gitignore | ||
Cargo.toml | ||
config.hjson.example | ||
LICENSE | ||
README.md | ||
Rocket.toml |
wedding-rsvp-rs
This Rust and Rocket.rs based, fully responsive website is a simple contact form to RSVP to a wedding. It was meant to be simple to use, since a lot of non-tech-savvy people will usually attend a wedding as well ;-). Therefore, it is completely (HTML) email based and does not include any CAPTCHA.
Content
Features
- KISS: Not too many features and fields, no databases, no CAPTCHA.
- Completely (HTML) email based: The guest will receive a confirmation with additional information on top of the invite he got. Attached to this email, an ICS file enables the user to directly add the wedding into his calendar.
- Configurable, multi-language strings: All language strings can be defined in
config.hjson
. Since this website assumes that a different FQDN is used for every language, the mapping between TLDs and languages must be configured inconfig.hjson
as well. - Separete emails for accepting/rejecting the invitation: Guests who will attend will get a different e-mail from guests that will not attend.
- Proper error handling for emails: If an email cannot be sent, the website will always try to catch this error and inform the organizer of the wedding about the error and the reason of the error. He/she can act accordingly and manually contact the guest. The guest will get a nice landing page with information on how to contact the organizer.
- IP based spam protection: As mentioned before, this website does not include CAPTCHA to ease usability. There is, however, a small protection so that one IP can only send an email every X seconds. Here, X can be configured in
config.hjson
.
Installation
git clone https://git.dennispotter.eu/Dennis/wedding-rsvp-rs.git
cd wedding-rsvp-rs
cp config.hjson.example config.hjson
- Add your SMTP credentials to
config.hjson
adapt the language strings to your liking cargo run
Screenshots
Screenshot of homepage
Screenshot of thanks page
Screenshot of spam protection page
License
wedding-rsvp-rs
is released under the MIT license. The HTML template is derived from Contact Form v1, which is released under the CC BY 3.0 license.