>> So, what is the alternative ?
>
> Send a URL to an HTML page that includes a POST form with a button the
> user clicks on to confirm.
>
> (or send an HTML email with a form (not sure if the email client
> supports the form submission though)).
It is a matter of a tradeoff between usability and safety. Confirming
by just clicking on the link is a well-established usage pattern on
the web. Most users will miss the flow if there is another HTML form
or some other user interaction on that page.
When implementing this, just make sure to not fail the request if the
user clicks on the link again (i.e. implement as idempotent).
Subbu