What format is your email? If its plain text, it will be a GET. That itself is not a problem for updating the activation page. You could also open a page (with GET) and let them click on a button for final submit (not uncommon).
However, updating through a GET would not bother me for this specific function.
example:
# routes.rb
get 'confirmations/:id/confirm' => 'Confirmations#confirm'
# confirmations.rb
class ConfirmationsController < ApplicationController
def confirm
# handle the get data here (switch aa flag for the email account)
end
end