ugrás a tartalomhoz

Outlook levél létrehozása (create outlook email)

szaky · 2012. Jan. 10. (K), 12.48
Sziasztok

Egy érdekes problémába ütköztem, hátha valaki el tudja vágni a gordiuszi csomót.

A feladat a következő: egy oldalon van egy gomb/link, amire kattintva meg kell nyílni az user outlookjának, benne egy adatokkal, formázással, címzettel, stb-vel megpakolt email, amit ő módosítás után el tud küldeni. Tehát valami olyasmi, mint a "mailto:", csak sokkal több lehetőséggel.

Amire én gondoltam, hogy a kattintásra letöltődik egy *.msg vagy *.oft filet. Ez szép is lenne, de nem találtam erre megoldást. De még csak olyat se, hogy hogyan épülnek fel ezek a file-ok.

Van esetleg valakinek ötlete, hogy merre induljak el?

Előre is köszi

Krisztián
 
1

Ne bonyolíts :) nézd meg ezt

Kubi · 2012. Jan. 10. (K), 13.18
Ne bonyolíts :)
nézd meg ezt a linket: Auto Fill Email Subject and Body
2

Ezt ismerem

szaky · 2012. Jan. 10. (K), 13.22
Ezt ismerem, és van, ahol muszájból használom, de kevés. Pl nem lehet filet-t csatolni bele, hosszabb szöveget nem bír (mivel link) karakterkódolási problémák vannak, nem lehet prioritást beállítani, az email-címek mellé nevet megadni, stb.
3

ha viszont outlook fájl

Kubi · 2012. Jan. 10. (K), 13.26
ha viszont outlook fájl formátumot akarsz elküldeni usernek (nem tom hogy lehetséges e valami szép megoldással), a probléma az, hogy mi van ha a felahsználó nem használ outlookot? Ha az esetek (hasraütök) 80%-ban mondjuk ez a helyzet?

Erre jó megoldás a contact form, weblapon user kitölti (ha kell fájlt csatol) postolja és te pedig elküldöd.
4

Ez nem gond

szaky · 2012. Jan. 10. (K), 14.28
Ez nem gond a felhasználók outlookot használnak, még azt is tudom, milyet :) Szóval ez nem egy publikus webalkalmazás.
5

áá, értelek, így máris más a

Kubi · 2012. Jan. 10. (K), 14.57
áá, értelek, így máris más a helyzet :) sry, ezt a tényt nem tudtam.
Kiváncsiségból én is keresgélek, van e erre valami megoldás php-ban, de ahogy a fájl formátumot néztem... írtózatos....

persze, ha nem generált tartalom kell, hanem statikus, akkor outlookban ments el egy mailt otf formában (save as)
6

Látva eddigieket:

Pepita · 2012. Jan. 10. (K), 23.25
De még csak olyat se, hogy hogyan épülnek fel ezek a file-ok.
Azt mondanám elsőként kukkants bele egy egy .msg .otf fájlba, hátha nem bonyolult a felépítése. Ha érted, hogy mi-micsoda benne, máris írhatsz rá egy szép kis osztályt, ami megcsinálja.

Ha így nem megy, akkor gáz van (részemről) u.is abban még némi utánajárással tudnék segíteni, hogy Outlook-ot hogy kell windowsból(!) paraméterezni (bár infóim win98/me korúak és változhattak), de ezzel nem lennél kisegítve az általad is említett hossz miatt.

Ha semmi nem használ, hát csinálj egy formot, ahol - mondjuk - egy egyszerűbb wysiwyg-es textarea-ba beteszed a formázott tartalmat.
7

Sajnos mindkét formátum

szaky · 2012. Jan. 11. (Sze), 09.11
Sajnos mindkét formátum bináris, ha nagyon muszáj, megpróbálom visszafejteni, de jobb lenne egy rfc hozzá. A form nem megoldás, pont az a lényeg, hogy egy gyors, biorobotok által is triviálisan használható, profinak tűnő cucc kell. Az outlook, és az "egykattintátsos működés" nem kikerülhető.
8

Nem tudom, hogy milyen OS

virág · 2012. Jan. 11. (Sze), 09.22
Nem tudom, hogy milyen OS alatt szeretnéd megoldani, de ha Windows alatt, akkor ezeket nézd meg:

http://www.severnsolutions.co.uk/twblog/archive/2004/11/19/phpoutlookdcom

itt vannak példák is:

http://uk.php.net/manual/en/class.com.php

Én régebben egy Windowsos intranetes rendszerben használtam ezeket és teljesen jól működtek, biztosan lehet az Outlookot is használni így, de, hogy pontosan hogyan azt nem tudom, nézd meg az MSDN-t, de szinte biztos, hogy PHP kódokat nem találsz csak C#-ot meg VB-t, de könnyű átfordítani PHP-ra.

Bár szerintem ez neked nem lesz jó :) túl egyszerű lenne...
9

Izgalmasnak látszik

szaky · 2012. Jan. 11. (Sze), 11.42
Első olvasatra jó iránynak tűnik. Ez ugye a szerveren kapcsolódik OLE obj.-okhoz, de ha ott létre tudok hozni egy emilt, azt elmentem, és máris le tudom küldeni a kliensnek... még akár működhet is.
10

Megoldás

szaky · 2012. Jan. 25. (Sze), 09.24
Megkésve, de törve nem, elkészült, aminek el kellett készülnie. Hogy meglegyen, leírom a vázát a megoldásnak. Köszönet mindenkinek a segítségért:

<?php
$file = 'D:\\email.msg';
define('C_olEmailItem', 0);
define('C_olTypeMsg', 2);


// starting outlook
$ol = new COM("Outlook.application") or die("Unable to instantiate Outlook");

//create Email
$email = $ol->createItem(C_olEmailItem);
$email->subject="Tesztlevél";
$email->To='tesuser##kukac##testserver.net';
$email->body = 'Ezt e levelet a következő IP-re kérték le: '.$_SERVER['REMOTE_ADDR']."\n Ékezet teszt: Árvíztűrő tükörfúrógép\nLétrehozás ideje: ".date('Y-m-d H:i') ;

//save email to file
$email->SaveAs($file, C_olTypeMsg);

header("Content-Type: application/vnd.ms-outlook");
header('Content-Disposition: attachment; filename=email.msg');
header("Content-Length: " . filesize($file));

fpassthru(fopen($file, 'rb'));

//free the object
$ol = null;
Miután a mehanizmus működik, mindenféle jópofa dolgot lehet csinálni az email objetummal: melléklet, formázás, címek, stb. Természetesen ehhez szükséges, hogy a szerveren fusson egy outlook.

Szaky