Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wywolanie Outlooka z php
Zulus_0000
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.02.2006

Ostrzeżenie: (0%)
-----


Mam pytanko dla wtajemniczonych. Jak wywolać z poziomu php żeby u Klientaotwarł się Outlook i tak jak chcę wypełnił mu pola [do:], [Temat:], [Treść:]. Czy jest to wogóle możliwe?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


To jest niemożliwe w php.
php jest językiem server-side działającym jak sama nazwa wskazuje po stronie serwera i nie mogącym nic zrobić na komputerze użytkownika.

---update---
Możesz to co najwyżej w jakimś JavaScript zrobić lub za pomocą HTML.
W tym celu patrz post poniżej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) (~crash)
Go to the top of the page
+Quote Post
crash
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


  1. <a href="mailto:email@jakis.pl?subject=Temat&body=Tresc">send mail</a>


O php już nawet nie wspominam, mike_mech powiedział wszystko co trzeba...
Go to the top of the page
+Quote Post
Zulus_0000
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.02.2006

Ostrzeżenie: (0%)
-----


Dziękuje za odpowiedź.
Go to the top of the page
+Quote Post
escaflowne
post
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No... jeżeli skrypt php będzie uruchamiany po stronie klienta (czytaj: będzie się on znajdował na lokalnym dysku klienta) to można uruchomić Outlooka przez WMI (i teoretycznie wypełnić odpowiednie pola). Skoro można w ten sposób otworzyć Worda i np. wpisać do niego tekst, to czemuby nie można było zrobić czegoś podobnego z Outlookiem? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Seth
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


Mozna tez uzyc COMow i stworzyc instancje Outlooka - a o ile nie mam programu antywirusowego, ktory zablokuje nam pewne funkcje Outlooka to mozemy zrobic z nim teoretycznie wszystko (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Zulus_0000
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.02.2006

Ostrzeżenie: (0%)
-----


Seth czy możesz rozwinąc temat. Sprawa rzeczywiście dotyczy nietypowego zastosowania php. Mała firma, wewnętrzna sieć, serwer Apacha, MySQL - zbieranie danych z kilku stanowisk. Moąliwy dostep użytkowników do zasobów
serwera, jak to sprzęgnąć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Seth
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

Ostrzeżenie: (0%)
-----


1) Aby uzyc COMow musimy dzialac na Windowsie.
2) Musi byc zainstalowany Outlook

Teraz dzieki COMom http://pl.php.net/com mozemy stworzyc instancje Outlooka:

  1. <?php
  2. $outlook = new COM("Outlook.Application");
  3.  
  4. //...
  5. ?>


Teraz w zmiennej $outlook mamy dostep do outloka i jego obiektow. Caly model - klasy, metody, wlasciwosci jakie oferuje nam instancja Outlooka dostepne sa tutaj: http://msdn.microsoft.com/library/default...._HV01049998.asp

Teraz dla przykladu mozemy wylistowac tresc mail w inboxie:

  1. <?php
  2. $outlook = new COM("Outlook.Application");
  3. $ns = $outlook->GetNamespace("MAPI");
  4.  
  5. $inbox = $ns->GetDefaultFolder(olFolderInbox);
  6.  
  7. $mail = $inbox->Items;
  8.  
  9. while ($item = $mail->getNext()) {
  10.  echo 'Tresc: ' . $item->Body . "<br /><br />\r\n\r\n";
  11. }
  12. ?>


Tak naprawde najlatwiej jest poprzerabiac skrypty VBS, ktorych jest pelno w sieci, ktore traktuja o COMach Outlooka - dzieki nim wiem np. ze pobierajac GetDefaultFolder(olFolderInbox) zwroci mi katalog inbox wraz z kolekcja Items gdzie mam maile.

No i tak jak pisalem, dziala to tylko na Windowsie z zainstalwoanym Outlookiem i skonfigurowanym kontem - bardzo dawno pisalem aplikacje i skrypty w Visual Basicu, ktore krozystaja z COM Outlooka, wiec juz nawet nei pamietam jak z poziomu skryptu logowalo sie na inne konto. No ale w sieci pewnie sie znajdzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował Seth 10.02.2006, 00:46:40
Go to the top of the page
+Quote Post
Zulus_0000
post
Post #9





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.02.2006

Ostrzeżenie: (0%)
-----


Odpowiada Zulus_0000:
Seth Dzięki wielkie za opis. Muszę to przećwiczyć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
---update---
Ostatecznie skorzystałem z propozycji Crasha i oto praktyczny kod
  1. <?php
  2. //MOJ TEXT - to co chcę przenieść do Outlooka//
  3. $text1='MOJ TEXT - Linia 1'.'%0A';
  4. $text2='MOJ TEXT - Linia 2'.'%0A';
  5. $filename="test.php";
  6. $fd=@fopen($filename,"a+");
  7. if($fd==null){
  8. print("Bład serwera nie można otworzy pliku: test.php");
  9. return;
  10. }
  11. // <a href="mailto:email@jakis.pl?subject=Temat&body=Tresc">send mail</a>//
  12. $t1='<a href="mailto:xyz@jakis.pl?subject=Temat&body=';
  13. $t2=$text1.$text2;
  14. $t3='">Wyslij Maila</a>';
  15. $new_data=$t1.$t2.$t3;
  16. fwrite($fd, $new_data);
  17. fclose($fd);
  18. include($filename);
  19. ?>

Użtkownik na ekranie dostaje link " Wyslij Maila", jeżeli kliknie to uruchomi się Outllook i przepisze:
do:xyz@jakis.pl, temat i treść text1, text2 (w osobnych liniach).

Ten post edytował Zulus_0000 15.10.2006, 21:02:56
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:59