L'ajout de css dans le code html qui vous sera envoyé un e-mail

J'ai créé une méthode qui vous permettra d'envoyer un email avec les informations pour les clients. Cependant, l'e-mail semble horrible, cus il n'y a pas de style. Je ne peux pas appliquer le style à l'e-mail pour une raison quelconque. J'ai essayé de chercher sur google, et il y en a beaucoup sur comment résoudre ce problème dans le code derrière, mais ce n'est pas mon problème. Je dois placer le code css dans le Html du corps, car il doit être affiché pour le client quand il ouvre l'e-mail.

Donc ma question est, comment puis-je ajouter des css pour le code html ci-dessus? J'ai essayé de faire:

<div style='...'></div>

et cela ne fonctionne pas

Toute aide sur la façon de résoudre ce problème est apprécié. Ci-dessous mon code. J'ai raccourcie, elle, pour des raisons de lisibilité.

string HtmlBody = @"<div style='float: right'>
    <h3>Faktura</h3> <br />
    Navn:<asp:Label ID='navn' runat='server' Text='%Navn%'/> <br />
    Adresse:<asp:Label ID='adresse' runat='server' Text='%Adresse%'/> <br />
    Postnr:<asp:Label ID='postnummer' runat='server' Text='%Postnr%'/> <br />
    Land:<asp:Label ID='land' runat='server' Text='Danmark' /> <br />
    Tlf: &nbsp;<asp:Label ID='tlfnummer' runat='server' Text='%Tlf%' /> <br />
    Mail: &nbsp;<asp:Label ID='email' runat='server' Text='%Email%' /> <br />

    <div style='float: right'>
        <p>Dato</p>                                 
    </div> 
    <hr /> <br />
    <table style='background-color: #c00764'>
        <tr>
            <td><b>Fakturanr:</b></td>
            <td>%fakturanr%</td>
        </tr>
        <tr>
            <td><b>Ordrenr:</b></td>
            <td>%Ordrenr%</td>
        </tr>
    </table>
</div>";

Voici certaines de mes infos sur le mail de la partie

MailMessage mailMsg = new MailMessage();
mailMsg.IsBodyHtml = true;
mailMsg.Priority = MailPriority.Normal;

var smtpValues = GetSmtpValues();
var smtpCredentials = GetNetworkCredentials();

SmtpClient smptClient = new SmtpClient(smtpValues.Key, smtpValues.Value);
smptClient.EnableSsl = true;
smptClient.Credentials = new NetworkCredential(smtpCredentials.Key, smtpCredentials.Value);

//Send mail
smptClient.Send(mailMsg);
  • Quelle est votre question / ce qui sont que vous essayez de faire et quel est le problème exactement?
  • Vous avez déjà utiliser du css, qui devrait fonctionner correctement, assurez-vous juste que vous envoyez l'e-mail de soutien HTML.
  • Ce client de messagerie le client à utiliser? Il y a beaucoup de différence entre les clients de messagerie dans combien CSS qu'ils soutiennent. Est le code HTML affiché normalement par ailleurs (en gras et en gros pour le h3, etc)?
  • De style en ligne devrait fonctionner pour la plupart des styles de base. Êtes-vous en précisant IsBodyHtml aussi vrai pour votre System.Net.Mail.MailMessage objet?
  • Par la manière, vous êtes sûr que des choses comme <asp:Label .. et %Ordrenr% sont gérées correctement dans votre application? Je veux dire, ces deux formats sont pour les deux types d'analyseurs.
  • Je ne suis pas sûr à ce sujet. L' %...% signes ne vont pas être là, ils sont juste temporaire pour moi, alors que je sais que je devrais mettre les valeurs dans y. Mais je vais l'enlever, et voir si c'est la question
  • Je ne sais pas ce client de messagerie de mes clients. Comment puis-je savoir cela? J'imagine qu'il peut utiliser n'importe quel client.
  • J'ai essayé de supprimer les <asp:Label /> et le signe%. Toujours le même 🙁
  • Je recommande d'utiliser ce post: stackoverflow.com/questions/9584170/... Cordialement, Dii~

InformationsquelleAutor user1960836 | 2013-10-22