<MailDefinition> и <%%> заполнители

Возврат маленького объекта и с булевым флагом и со Строкой внутри является, вероятно, самым подобным OO способом сделать его, хотя я соглашаюсь, что это кажется излишеством для простого случая как это.

Другая альтернатива должна всегда возвращать Строку и иметь пустой указатель (или пустая строка - Вы выбираете, который), указывают на успех. Пока возвращаемые значения ясно объяснены в javadocs не должно быть никакого беспорядка.

5
задан SourceC 9 July 2009 в 19:09
поделиться

1 ответ

Простая строка.Replace (), вызываемая в событие SendingMail делает свое дело.

protected void CreateUserWizard1_SendingMail( object sender, MailMessageEventArgs e )
{
    // Replace <%foo%> placeholder with foo value
    e.Message.Body = e.Message.Body.Replace( "<%foo%>", foo );
}

Создать собственный механизм электронной почты тоже не так сложно.

using( MailMessage message = new MailMessage() )
{
    message.To.Add( "none@none.com" );
    message.Subject = "Here's your new password";
    message.IsBodyHtml = true;
    message.Body = GetEmailTemplate();

    // Replace placeholders in template.
    message.Body = message.Body.Replace( "<%Password%>", newPassword );
    message.Body = message.Body.Replace( "<%LoginUrl%>", HttpContext.Current.Request.Url.GetLeftPart( UriPartial.Authority ) + FormsAuthentication.LoginUrl ); // Get the login url without hardcoding it.

    new SmtpClient().Send( message );
}

private string GetEmailTemplate()
{
    string templatePath = Server.MapPath( @"C:\template.rtf" );

    using( StreamReader sr = new StreamReader( templatePath ) )
        return sr.ReadToEnd();
}
9
ответ дан 14 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: