Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

HTML rendering στο Outlook

Îåêßíçóå áðü ôï ìÝëïò dimos.homatas. Τελευταία δημοσίευση από το μέλος dimos.homatas στις 15-12-2010, 14:45. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-12-2010, 11:45 61660

    HTML rendering στο Outlook

    Καλημέρα σας και καλώς σας βρήκα!

    Φαντάζομαι ότι μάλλον εδώ θα πρέπει να πάει το ποστ...

    Έχω μία μεγάλη 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
  •  15-12-2010, 11:46 61661 σε απάντηση της 61660

    Απ: HTML rendering στο Outlook

    Να επισημάνω ότι είμαι "καθαρός" desktop developer, απειροελάχιστη σχέση με web!
    "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
  •  15-12-2010, 12:25 61662 σε απάντηση της 61661

    Απ: HTML rendering στο Outlook

    Όταν βγήκε το Office 2007, έβαλαν το Outlook να κάνει render το HTML περιεχόμενο χρησιμοποιώντας ως engine το Word (και όχι τον IE) οπότε περιορίστηκε το τι μπορεί να κάνει render καθώς το Word δεν υποστηρίζει:

    • background images (HTML or CSS)
    • forms
    • plugins
    • CSS floats & positioning positioning
    • animated GIFs

    Δες εδώ την πλήρη λίστα: http://msdn.microsoft.com/en-us/library/aa338201.aspx

    Οπότε η λύση σου είναι είτε να έχεις ένα table layout, είτε να έχεις τα περιεχόμενα attached σε αρχείο με κάποιο ubiquitous φορμά όπως pdf

     

     


    Vir prudens non contra ventum mingit
  •  15-12-2010, 12:45 61667 σε απάντηση της 61662

    Απ: HTML rendering στο Outlook

    Το διάβασα το ποστ από πριν, είναι αυτό που κράζουν όλοι από κάτω...

    Ήδη έχω το table-layout σε fixed, το δοκίμασα να το βάλω σε auto και ξαναχάλασε ο IE και ο Safari.

    Δεν γίνεται να τα βγάλω σε pdf... 

    Ευχαριστώ πάντως για την απάντηση

    "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
  •  15-12-2010, 14:45 61680 σε απάντηση της 61667

    Απ: HTML rendering στο Outlook

    Ουφ, βρήκα άλλη λύση... πατέντα μεν, δουλεύει δε:

    προϋπολογίζω μέσα στο αντικείμενό μου το τι μέγεθος θα πρέπει να έχει η φώτο, και μέσω του XSLT το περνάω στις παραμέτρους του IMG tag.

    Πάντως από όσα διάβασα σήμερα όλη μέρα, το πρόβλημα είναι γενικότερο με το rendering που κάνουν οι διάφοροι clients. Φαίνεται πως δεν είναι μόνο το Outlook που κάνει τέτοιες λαδιές.



    "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
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems