I'm trying to implement an order confirmation module for guest accounts. I researched now for a couple hours but it seems that I can't find any solution to my problem.

I need to verify if the email of a guest customer is actually valid. After the order is placed I observe the sales_order_place_after event and try to set the guest order to holded or a custom one like unconfirmed. Either way the state change gets overwritten by Magento.
After that I want to send an email with a verification link. And then change the state back to pending. I think I can overwrite the basic email template for a new guest order. Is this correct?

How can I set guest orders to a different state than the default "pending"?

Thank you all very much in advance!


Question: Is there a single word that means "self flagellation" or "self punishment"?
Answer: You'd describe a person who believes that they are in need of self-punishment as penitent.  I think that's more a state of mind than an actual act of self-punishment, though.