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

 

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

PDF as an attachment to an email.

Îåêßíçóå áðü ôï ìÝëïò Nassos.NET. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 15-06-2009, 17:11. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-06-2009, 15:47 51691

    PDF as an attachment to an email.

    καλησπέρα σε όλους,
    Εχω το εξής πρόβλημα, από εν DevExpress Report κάνω ExportToPdf σε ένα MemoryStream αν βάλω το stream σαν attachment σε ένα email, τοτε προσπαθόντας να ανοιξω το attachment πέρνω από το Acrobat Reader το παρακάτω μήνυμα:

    Να και ο κώδικας.
    SmtpClient client = new SmtpClient(smtpIP.Value, Convert.ToInt32(smtpPort.Value));
    MailMessage emessage = new MailMessage();
    MailAddress addFrom = new MailAddress(smtpSender.Value);
    MailAddress addTo = new MailAddress(faxNum + smtpPartialEmail.Value);                    
    emessage.From = addFrom;
    emessage.To.Add(addTo);
    Stream objStream = new MemoryStream();
    objXtraReport.ExportToPdf(objStream);
     Attachment att = new Attachment(objStream, objCase.CurrentEvent.Id.ToString() + ".pdf", MediaTypeNames.Application.Pdf);
    
    message.Attachments.Add(att);
    emessage.Sender = addFrom;
    emessage.Subject = "["+faxIdReturn.Value.ToString()+"]";
    emessage.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
    try
    {
         client.Send(emessage);
    }
    catch (Exception r)
    {
    
    
    }
    Αν κάνω πρώτα Save σε αρχείο και στείλω το αρχείο as attachment τότε ολα δουλευουν ρολόϊ.
    Εχει κανεις καμία ιδέα, δοκίμασα να βάλω MediaTypeNames 

    MediaTypeNames.Application.Octet with no success.

     

    Any help would be appriciated

    Nassos


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  15-06-2009, 16:00 51692 σε απάντηση της 51691

    Απ: PDF as an attachment to an email.

    Το μήνυμα λάθους το έλεγξες? Γιατί αναφέρει σαν όνομα το **.pdf? Το objCase.CurrentEvent.Id.ToString() τί τιμή επιστρέφει? Μπορείς να σώσεις το attachment πριν το ανοίξεις, ή δεν μπορείς ούτε αυτό να κάνεις?

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  15-06-2009, 16:20 51694 σε απάντηση της 51692

    Απ: PDF as an attachment to an email.

    Ναι Παναγιώτη, ελεγξα το μήνυμα λάθους,

    το objCase.CurrentEvent.Id.ToString() επιστρεφει έναν αριθμό και δεν εχει εκει πρόβλημα το ε-μαιλ φευγει κανονικά, μπορείς να σώσεις το attachment πριν το ανοίξεις με το ιδιο προβλημα.

    Αν αντί να βάλω το Stream σαν attachment κάνω Save (objXtraReport.ExportToPdf(@"c:\test5.pdf")) Και μετά βάλω το File σαν Attachment στο e-mail, τότε δεν εχει κανενα πρβλημα ανοίγει το PDF κανονικά αυτό ειναι που με τρελένει.

    Επίσης έκανα Export στο Stream και μετά έσωσα το Stream σε αρχείο και πάλι δούλεψε κανονικά.

    Τα *** τα έβαλα γιατί οτι ονομα και να βαλω το ιδιο ειναι.


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  15-06-2009, 16:56 51695 σε απάντηση της 51694

    Απ: PDF as an attachment to an email.

    Βρήκα το πρόβλημα, έπρεπε να κάνω το Position του Stream =0 πριν ακριβός κάνω Attachments.Add().


    "Success is the ability to go from one failure to another with no loss of enthusiasm."
    Winston Churchill

    "Quality means doing it right when no one is looking."
    Henry Ford

  •  15-06-2009, 17:11 51696 σε απάντηση της 51695

    Απ: PDF as an attachment to an email.

    Με πρόλαβες! Αυτό υποψιαζόμουν από την αρχή αλλά μπερδεύτηκα επειδή ανέφερες το **. Κάθε stream συνεχίζει πάντα από το τρέχον σημείο. Όταν γράφεις στο MemoryStream το τρέχον σημείο είναι το τέλος του Stream οπότε το Attachment θα φύγει κενό. Ο constructor του attachment δεν θέτει μόνος του το τρέχον σημείο στην αρχή (0) και προσπαθεί να συνεχίσει από το τέλος του stream.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems