Most small websites eventually need the same thing: a contact form that sends an email.

That sounds simple, but the implementation often becomes more work than expected:

SMTP credentials

mail libraries

server-side validation