public SmtpMessageChannel( IOrchardServices orchardServices, IShapeFactory shapeFactory, IShapeDisplay shapeDisplay) { _shapeFactory = shapeFactory; _shapeDisplay = shapeDisplay; _smtpSettings = orchardServices.WorkContext.CurrentSite.As<SmtpSettingsPart>(); _smtpClientField = new Lazy<SmtpClient>(CreateSmtpClient); }
void LazyLoadHandlers(LoadContentContext context, SmtpSettingsPart part) { part.PasswordField.Getter(() => { try { return String.IsNullOrWhiteSpace(part.Record.Password) ? String.Empty : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(part.Record.Password))); } catch { Logger.Error("The email password could not be decrypted. It might be corrupted, try to reset it."); return null; } }); part.PasswordField.Setter(value => part.Record.Password = String.IsNullOrWhiteSpace(value) ? String.Empty : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value)))); }
void LazyLoadHandlers(LoadContentContext context, SmtpSettingsPart part) { part.PasswordField.Getter(() => { try { var encryptedPassword = part.Retrieve(x => x.Password); return String.IsNullOrWhiteSpace(encryptedPassword) ? String.Empty : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(encryptedPassword))); } catch { Logger.Error("The email password could not be decrypted. It might be corrupted, try to reset it."); return null; } }); part.PasswordField.Setter(value => { var encryptedPassword = String.IsNullOrWhiteSpace(value) ? String.Empty : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value))); part.Store(x => x.Password, encryptedPassword); }); part.AddressPlaceholderField.Loader(() => (string)((dynamic)ConfigurationManager.GetSection("system.net/mailSettings/smtp")).From); }
void LazyLoadHandlers(LoadContentContext context, SmtpSettingsPart part) { part.PasswordField.Getter(() => String.IsNullOrWhiteSpace(part.Record.Password) ? String.Empty : Encoding.UTF8.GetString(_encryptionService.Decode(Convert.FromBase64String(part.Record.Password)))); part.PasswordField.Setter(value => part.Record.Password = String.IsNullOrWhiteSpace(value) ? String.Empty : Convert.ToBase64String(_encryptionService.Encode(Encoding.UTF8.GetBytes(value)))); }