ASP.NET Отправить .htm файл в качестве шаблона электронной почты - PullRequest
0 голосов
/ 27 августа 2010

Привет, вы можете отправить файл .htm в качестве шаблона html, используя класс mailMessage? Я не могу понять, как это сделать?

Ответы [ 2 ]

1 голос
/ 05 сентября 2012

Предполагая, что вы создали HTML-шаблон с маркерами (например, [[[FROM]]]), вам необходимо использовать StringBuilder.Например:

public static string GetEmailTemplateContent(string path)
{
    string emailHtmlTemplate = "";
    StreamReader rdr = null;
    try
    {
        rdr = new StreamReader(path);
        emailHtmlTemplate = rdr.ReadToEnd();
    }
    catch (IOException ex)
    {
        throw new Exception(ex.Message.ToString());
    }
    finally
    {
        if (rdr != null)
        {
            rdr.Close();
            rdr.Dispose();
        }
    }
    return emailHtmlTemplate;
}

А затем вам просто нужно заменить маркеры и заполнить тело письма измененным шаблоном.

string emailTemplate = GetEmailTemplateContent("C:\\somepath");
emailTemplate = emailTemplate.Replace("[[[FROM]]]", from);
MailMessage email = new MailMessage();
email.Body = emailText;
0 голосов
/ 27 августа 2010

Я рекомендую вам использовать классы String или StringBuilder и создать собственную шаблонную подсистему.Я имею в виду, просто назначьте содержимое шаблона для String и замените вхождения токенов на реальные значения.

Если вам нужен пример, посмотрите, как Drupal предлагает переменные, такие как! Username и так далее.Если вам нужны примеры кода, пожалуйста, не стесняйтесь оставлять комментарии здесь.

Надеюсь, это поможет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...