Notification of when user first creates account

Apr 19, 2011 at 4:08 PM

Hi, Whats the best way to be notified when a user first creates an account via facebook authentication ?

Thanks for any help,

Ben

Coordinator
Apr 20, 2011 at 4:12 PM

Hi Ben,

At the moment there is not way to get a direct notification from my mod... though you could use a handler? I think its something like this...

OnCreated<OpenAuthenticationPart>((c, o) => {
// Do Stuff
})

I will take a look when im home as I havent got orchard at work.

Cheers, Nick

Apr 22, 2011 at 11:56 AM

Hi, got that to work fine in the handler (code is below - the mail sending part would need to be pulled out for production obviously) :

 

OnCreated<IUser>((context, user) =>
{
     var BccEmailAddress = ConfigurationManager.AppSettings["BccEmailAddress"];
     var mailMessage = new MailMessage();
     mailMessage.BodyEncoding = Encoding.UTF8;
     mailMessage.IsBodyHtml = false;
     mailMessage.Subject = ConfigurationManager.AppSettings["RegistrationEmailSubject"];
     mailMessage.Body = ConfigurationManager.AppSettings["RegistrationEmailBody"];
     mailMessage.To.Add(user.Email);
     mailMessage.From = new MailAddress(ConfigurationManager.AppSettings["FromEmailAddress"]);
     if (!string.IsNullOrEmpty(BccEmailAddress)) mailMessage.Bcc.Add(BccEmailAddress);
     var client = new SmtpClient();
     client.Send(mailMessage);
});

Coordinator
Apr 22, 2011 at 4:24 PM

Ahh cool!!.. to check for the provider... You could do this as well...

OnCreated<OpenAuthenticationPart>((context, part) => {
   if (part.Record.HashedProvider == ProviderHelpers.GetHashedProvider(Provider.Facebook))
   {
     // Do Stuff
   }
})