Как отправить веб-страницу в теле письма с помощью CSS - PullRequest
5 голосов
/ 06 марта 2012

Я создаю отчет на веб-странице asp.net, используя таблицу html и метки asp.net. Готовый отчет я должен отправить по электронной почте в теле сообщения. Я сделал это с помощью следующего кода C #:

public bool SendEMail(List<string> emailList, string strSubject, string strMessage, bool isHTML)
    {
            MailMessage msg = new MailMessage();
            msg.From = new MailAddress(strFrom);
            //emailList is a list of email addresses to be sent to
            if (emailList != null && emailList.Count > 0)
                foreach (string em in emailList)
                {
                    msg.To.Add(em);
                }
            else
                return false;
            msg.Subject = strSubject;
            msg.Body = strMessage;
            msg.IsBodyHtml = isHTML;
            SmtpClient smtp = new SmtpClient(mailServer);
            smtp.Credentials = new System.Net.NetworkCredential(userName, usePass);
            smtp.Send(msg);
            msg.Dispose();
            return true;
        }

Это работает хорошо, но оно получает только стили, заданные в самой форме, для каждого элемента управления в отдельности. Как я могу использовать CSS в заголовке HTML или в таблице стилей? Также есть возможность включить скины?

Ответы [ 4 ]

10 голосов
/ 06 марта 2012

Посмотрите на этот график:

http://www.campaignmonitor.com/css/

Я бы порекомендовал вам использовать встроенные стили вместо добавления внешнего листа CSS

3 голосов
/ 06 марта 2012

стилизация электронных писем в формате html - трудная задача, поскольку каждый клиент (gmail / hotmail / outlook / yahoo) применяет свои собственные стили к определенным элементам высокого уровня.

Хорошее правило - применять встроенныйнапример, стили:

<span style="display:block; background:red;">blah</span>

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

0 голосов
/ 12 июля 2014

Посмотрите на реализацию с использованием AlternateViews, это поможет вам, если вы динамически генерируете тело письма, со стилями.

http://microsoft.com/....alterviews.aspx

0 голосов
/ 06 марта 2012

Это можно сделать точно так же, как вы установили бы CSS на веб-странице.В теле сообщения вы можете использовать полностью сформированный HTML-документ, включая теги заголовков, которые могут ссылаться на внешнюю таблицу стилей.Пока CSS полностью содержится в документе или в ссылке используется полный URL, все должно быть в порядке.

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