changing role wen opening a confirmation link but auto login with logintoboggan
If using rules module, then you will have an event: when user account is activated. when rule fires you can define action add role.

For sending email even: when user account is created and then as action send email. 

There is more possibilities. I like to do it with custom modules so I can simpletest the code. If so, use hook_user_insert() and hook_user_login(). In hook_user_login() check for user roles.