![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebuję wygenerować plik pdf i wysłać go mailem przy pomocy klienta poczty. Generuję pdf ale nigdzie nie mogę znaleźć jak wysłać go jako załącznik w domyślnym kliencie poczty np. Outlooku. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Musisz ustawić odpowiednie nagłówki - nie polecam się w to bawić samemu, o wiele wygodniej Ci będzie jeśli skorzystasz z darmowych bibliotek PHPMailer lub Swiftmailer, które radzą sobie z załącznikami bez problemu.
Tutaj masz opis jak to zrobić dla swifta - http://swiftmailer.org/docs/messages.html#attaching-files |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Potrafię wysyłać z załącznikiem z użyciem phpmailer.
Potrzebuję zrobić tak ,żeby otwierał się domyślny klient poczty np. outlook a tam będzie już dodany załącznik (mój pdf) oraz adresat wiadomości. Użytkownik musi tylko klinąć "wyślij". Witam Temat powraca. Próbowałem zrobić coś takiego: A wcześniej w body wkomponować zakodowaną treść pdf'a w base64.
Niestety link po kliknięciu nie robi nic. Może body ma ograniczoną liczbę znaków. Utknąłem na dobre. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Polecam narzędzie które do tego służy.
Nie żadne cuda na kiju, pisane przez cholera wie kogo, zabugowane, przestające działać w najmniej oczekiwanym momencie. Na SMTP trzeba uważać. Wystarczy przeczytać tę biblitekę żeby się o tym przekonać: http://pear.php.net/package/Mail_Mime |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Na SMTP trzeba uważać. Wystarczy przeczytać tę biblitekę żeby się o tym przekonać: http://pear.php.net/package/Mail_Mime Nie wiem jak tego użyć. Próbuję tak:
Otrzymuję błędy: Strict Standards: Non-static method PEAR::raiseError() should not be called statically, assuming $this from incompatible context in E:\Apache_portable\xampp\php\PEAR\Mail\mime.php on line 382 Strict Standards: Non-static method PEAR::getStaticProperty() should not be called statically, assuming $this from incompatible context in E:\Apache_portable\xampp\php\PEAR\PEAR.php on line 871 Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in E:\Apache_portable\xampp\php\PEAR\Mail\mime.php on line 354 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tylko co jeśli klient zmieni klienta poczty? W ogóle cudujesz za bardzo z tym. Nawet jeśli upchniesz to jako "body" w treści, to nie masz pewności czy zadziała to wszędzie.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tylko co jeśli klient zmieni klienta poczty? W ogóle cudujesz za bardzo z tym. Nawet jeśli upchniesz to jako "body" w treści, to nie masz pewności czy zadziała to wszędzie. Ja chcę tylko wysłać maila przez klienta poczty z załącznikiem z localhosta. Nie chcę "cudować" tylko zrobić proste rozwiązanie ale nie wiem jak. Nikt nie pomoże ? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wyobrażasz sobie sytuację, gdy wchodzisz na jakąś stronę i otwiera Ci się program pocztowy, z dołączonym od razu załącznikiem? Chciałbyś, aby takie coś mogło mieć miejsce? Ja np nie chcę.
Poza tym, pomyśl przez chwilę logicznie. Żeby załącznik mógł być wysłany z komputera, to musi być na nim fizycznie. Czyli użytkownik musi ten załącznik pobrać, zapisać na dysk i wtedy dołączyć do maila. Więc jedyne co możesz zrobić to wygenerować link, którego kliknięcie otworzy klienta poczty, a za nim drugi link do załącznika. Ewentualnie możesz połączyć to razem, i po kliknięciu w link, poza otwarciem programu, w tle wysłać plik do zapisania na dysku. Wtedy użytkownik zapisze plik, i już sam ręcznie dołączy go do wiadomości. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Prościej byłoby zrobić formularz na serwerze z opcją wysyłania załącznika. A jeśli chodzi o kontakty z programu, to można je pobrać.
Obecnie chcesz utworzyć komunikacje serwer = klient która nie ma racji bytu, nawet jeśli to miałoby działać tylko na localu. Dobrej 100% metody na to nie ma, ponieważ zahacza to o względy bezpieczeństwa. -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chodzi o to ,że na dysku lokalnym generuje dokument ,który jednym kliknięciem chciałbym wysłać korzystając z klienta pocztowego użytkownika. W kontaktach nie muszę "grzebać" ponieważ adres e-mail odbiorcy, temat wiadomości jest znany i plik załącznika już istnieje na serwerze ( wcześnie wygenerowany pdf).
Oczywiście można ręcznie załączyć dokument pdf otwierając np. outlooka , dodając odbiorcę , temat itp. ale nie wyobrażam sobie ,żeby ten użytkownik dołączył plik który znajduje się na np. D:/apacheserwer/htmldokc/tratatata/tratatata/pdf/dokument.pdf. To jest powód tej automatyzacji. Do tego wykluczam częste pomyłki wysłania emaila bez załącznika ( bo się już tyle naklikało ,że załącznika dodać się zapomniało) . |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
To co za problem wysłać to wszystko bezpośrednio z serwera, tym bardziej że PDF już na nim leży? Program pocztowy jest zbędny.
Ten post edytował !*! 6.12.2011, 16:18:09 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat To co za problem wysłać to wszystko bezpośrednio z serwera, tym bardziej że PDF już na nim leży? Program pocztowy jest zbędny. Z lokalnego - ja nie wiem jak |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czyli lokalnie masz postawiony jakiś serwer www (lamp, wamp etc), tak? No to sobie konfigurujesz skrypt (PHPMailer, SwiftMailer) pod dane konta pocztowego, które masz ustawione w Outlooku. Wysyłasz tego maila ze skryptu, tak jakbyś go wysłał normalnie z programu pocztowego.
Chyba, że chodzi o coś innego. Jak przybliżysz dokładniej swoją sytuację, będzie łatwiej o rozwiązanie. -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak mówisz - lokalny serwer www na xamppie. php + mysql.
Do serwisu ma dostęp kilku użytkowników. Każdy może wygenerować dokument w pdf-ie. Następnie chciałbym żeby można było albo podejrzeć dokument (proste, zrobione, zapomniane) albo kliknąć przycisk lub link "wyślij dokument e-mailem". Tu otwiera się domyślny klient poczty ( najczęściej officowe outlooki ) i użytkownik ma wpisanego adresata , temat wiadomości i załącznik pdf. Musi tylko dodać jakąś treść (lub nie) i kliknąć przycisk "wyślij" ( w tym outlooku). Rozwiązanie to ma takie plusy ,że użytkownik ma w historii wysłanego maila z dokumentem (istotne) oraz ogranicza szukanie załączników po serwerze o czym pisałem wcześniej. Pasował by mi htmlowy Kod mailto: - otwiera klienta, dodaje adresata oraz temat wiadomości. Nie ma jednak załącznika.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Taaaa. Domyślny klient poczty. Fajnie, tyko tych "domyślnych klientów" może być sterta. Od bardziej popularnych, typu produktów MS (Outlook, OE), przez multiplatformowe (Thunderbird), lansowane przez firmy (np. Lotus Domino), czy ściśle jednoplatformowe, a nawet wręcz konsolowe (linuksowy mutt).
Dla Windowsa można chyba to zrobić, jest parę porad na http://stackoverflow.com/questions/1195111...with-attachment (patrz komentarze pod postem) Dla Thunderbirda możesz pobawić się tym, co jest opisane na https://developer.mozilla.org/En/Command_Line_Options Poza tym uważam, że może to być karkołomne zajęcie (sprawdzanie wszystkich rodzajów klientów poczty), choć nie mówię, że niemożliwe. Ogólnie, jeśli masz do dyspozycji skończoną ilość używanych programów do poczty i nie pojawi się żaden "egzotyczny" program, to myślę, że jest to wykonalne. P.S. Abstrahuję od tego, że sam kląłbym na czym świat stoi, gdyby podczas przeglądania sieci i generowania dokumentów otwarł się "znikąd" program pocztowy. Chyba warto rozważyć alternatywę pod nazwą "wysyłanie maili z serwisu WWW" Ten post edytował abort 6.12.2011, 22:43:50 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 26.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czy żeby dodać załącznik trzeba sformatować go inaczej dla każdego klienta poczty ? Przecież w html'u "mailto:" otwiera każdego , dodaje odbiorcę itp.
Przecież jak ktoś użyje "mailto:" to też się otworzy "znikąd" program pocztowy. Spotkałem może w internecie raz taką "niespodziankę" |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@vokiel podał już chyba najlepsze z możliwych rozwiązań. Ponadto tak sie to właśnie robi:
Cytat No to sobie konfigurujesz skrypt (PHPMailer, SwiftMailer) pod dane konta pocztowego, które masz ustawione w Outlooku. Wysyłasz tego maila ze skryptu, tak jakbyś go wysłał normalnie z programu pocztowego. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czy żeby dodać załącznik trzeba sformatować go inaczej dla każdego klienta poczty ? Przecież w html'u "mailto:" otwiera każdego , dodaje odbiorcę itp.
Przecież jak ktoś użyje "mailto:" to też się otworzy "znikąd" program pocztowy. Spotkałem może w internecie raz taką "niespodziankę" A jeśli ja kliknę na link z "mailto" to zapewniam Cie że nic mi się nie otworzy i co wtedy? Twój sposób wysyłania maila z załącznikiem leży. Masz serwer localny, dostęp do niego ma kilka osób. To generuj ten PDF na serwerze, tam go zapisuj i ewnetualnie daj możliwość jego pobrania i/lub wysłania go z serwera na wskazany adres emial. Skryptów do tego typu rzeczy jest od groma. A jeśli tak bardzo zależy Ci na "historii" w programie pocztowym, to na to też są sposoby, ale to wyższa szkołą jazdy i przydałaby się poczta IMAP. Ten post edytował !*! 7.12.2011, 11:35:17 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz kilku użytkowników systemu, to niech każdy loguje się na swoje konto, dzięki temu będziesz mógł dla każdego ustawić indywidualnie nadawcę w skrypcie.
Po kliknięciu na Twój przycisk "wyślij dokument e-mailem" pojawia się pole do wpisania treści, po jej wpisaniu skryptem wysyłasz maila, dodajesz adres e-mail użytkownika systemu do ukrytej kopii. Dzięki temu on też dostanie tego maila, będzie miał go w swoim programie. Jako, że wpadnie on do odebranych, to trzeba ustawić regułę żeby przenosiła takie maile do innego katalogu. IMHO najszybciej, najłatwiej, najpewniej. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.05.2025 - 21:36 |