public void InviteUserToJoinHousehold(string userId, int householdId) { string senderEmailAddress = UserRolesHelper.GetUserById(User.Identity.GetUserId()).Email; string inviteeEmailAddress = UserRolesHelper.GetUserById(userId).Email; string invitationUrl = Url.Action(ActionName.INVITATION_ACCEPTANCE, ControllerName.HOUSEHOLDS, new { householdId = householdId, userId = userId, inviteeEmailAddress = inviteeEmailAddress }, protocol: Request.Url.Scheme); UserSpecificIdentityMessage notificationMessage = new UserSpecificIdentityMessage { Origin = senderEmailAddress, Destination = inviteeEmailAddress, Subject = "You've been invited to join a household budget", Body = "<a href=" + invitationUrl + ">Click here if you wish to accept the invitation</a>" }; EmailService emailService = new EmailService(); emailService.SendAsSpecificUserAsync(notificationMessage); }
public Task SendAsSpecificUserAsync(UserSpecificIdentityMessage message) { // Plug in your email service here to send an email. var apiKey = ConfigurationManager.AppSettings["SendGridAPIKey"]; SendGridMessage sendGridMessage = new SendGridMessage(); sendGridMessage.AddTo(message.Destination); sendGridMessage.From = new MailAddress(message.Origin); sendGridMessage.Subject = message.Subject; sendGridMessage.Html = message.Body; var transportWeb = new Web(ConfigurationManager.AppSettings["SendGridAPIKey"]); transportWeb.DeliverAsync(sendGridMessage); return(Task.FromResult(0)); }