Καλημέρα σας και καλώς σας βρήκα!
Φαντάζομαι ότι μάλλον εδώ θα πρέπει να πάει το ποστ...
Έχω μία μεγάλη custom εφαρμογή, στην οποία κάνω χίλια δυο πράγματα, ένα από αυτά είναι να στέλνω μαζικές email ειδοποιήσεις στους πελάτες μας.
Ένα τμήμα των ειδοποιήσεων είναι σε μορφή html και φεύγει μέσω email.
Για τη σύνθεση των email χρησιμοποιώ XSLT.
Κάποια στιγμή χρειαζόταν σε έναν πίνακα fixed πλάτους να έχω μία γραμμή με μεταβλητό αριθμό κελιών. Ο αριθμός αποφασιζόταν από την επανάληψη foreach μέσα σε ένα xls tag.
Ο κώδικας είναι:
<table width="790" style="table-layout: fixed;">
<tr>
<xsl:for-each select="Estate/xslPhotos/EstatePhotoIA">
<td>
<a>
<xsl:attribute name="href">
<xsl:value-of select="URL" />
</xsl:attribute>
<img width="100%">
<xsl:attribute name="src">
<xsl:value-of select="URL" />
</xsl:attribute>
</img>
</a>
</td>
</xsl:for-each>
</tr>
</table>
Προσέξετε το style="table-layout: fixed;". Το έβαλα (μετά από πολύ ψάξιμο...) γιατί ενώ ο Chrome και ο FF έκαναν σωστά το adjust το πλάτος της γραμμής με τις φωτογραφίες, ο ΙΕ τις άπλωνε στην κανονική τους ανάλυση!
Και ερχόμαστε τώρα στο πρόβλημα... ενώ το συγκεκριμένο HTML εμφανίζεται σωστά (πλέον) σε ΙΕ, FF, Chrome, Opera & Safari, ήρθε η ώρα να το στείλω με μαιλ.
Το στέλνω λοιπόν μέσω του System.Net.Mail.SmtpClient ως HTML και εμφανίζεται σωστά στο Windows Live Mail, στο Hotmail, στο GMail τρώει κάτι χρώματα από ένα stylesheet αλλά "τρώγεται".
Και στο Outlook 2007, το ξεσκίζει! Το αποτέλεσμα είναι ότι το μήκος της γραμμής ξεφεύγει κατά πολύ από το harcoded 790 που έχω, οι φώτο πατάνε η μία πάνω στην άλλη... ότι νά'ναι!
Το παραγόμενο html είναι εδώ:
εδώ
Να επισημάνω ότι έψαξα κάμποσο για λύση, και έφτασα σε μερικά ενδιαφέροντα ποστ όπως αυτό
αυτό, στο οποίο τα σχόλια είναι όλα τα λεφτά...
Ευχαριστώ προκαταβολικά για τις συμβουλές σας
Δήμος
"When the darkness rises up from inside - that is normal.
It's when you reach down to pull it up - that the noxious warnings sound."
Tuzak, Farscape