Mailen naar een website
Al eerder stelde ik deze vraag onder de topic "E-mail ophalen van pop3 server d.d. 25-10-2010", maar daar kwam geen reactie op.
Ik wil graag een script maken waarmee het volgende kan realiseren.
a) het uitlezen van de pop3 server
b) uit elkaar peuteren van de mailinformatie
c) relevante onderdelen (subject + bericht + attachment) opslaan in msql
d) plaatsen van de info op de website
e) omzetten van de attachmentinfo (foto) in het jpg formaat (geen idee hoe dit gaat)
f) het plaatsen van de foto op de website.
Graag advies over de verschillende onderdelen of een alternatieve methode, waarvoor alvast mijn dank.
Chris Martinus
Squirrel Mail of Horde Mail.
Wat jij wil is in principe een zeer simpele webmail client. Waarom zelf heel die moeite doen om het bobbelige houten wiel uit te vinden terwijl er al 24" dikke grome spinner wielen uit zijn?
Met andere worden er is veel opensource (gratis dus) leverbaar die kan wat jij wil en veel meer.
Heb je zelf wel ervaring genoeg met php om dit te realiseren? Zover ik uit je post kan halen is dat je nog niets op papier hebt staan of uberhaubt iets hebt geschreven.
Er is natuurlijk een groot verschil tussen helpen of iets voor je maken. Hulp hier is gratis, iets maken is meestal tegen uurtarief ;)
Maar even alle gekkigheid op een stokje, wat jij wil is best php intensief programmeren. Het enige wat ik kan zeggen is begin aan de basis van je plan/idee en mocht je er op sommige stukken niet uit komen, kom dan hier voor hulp :D
Succes!!!!
Wat jij wil is in principe een zeer simpele webmail client. Waarom zelf heel die moeite doen om het bobbelige houten wiel uit te vinden terwijl er al 24" dikke grome spinner wielen uit zijn?
Met andere worden er is veel opensource (gratis dus) leverbaar die kan wat jij wil en veel meer.
Heb je zelf wel ervaring genoeg met php om dit te realiseren? Zover ik uit je post kan halen is dat je nog niets op papier hebt staan of uberhaubt iets hebt geschreven.
Er is natuurlijk een groot verschil tussen helpen of iets voor je maken. Hulp hier is gratis, iets maken is meestal tegen uurtarief ;)
Maar even alle gekkigheid op een stokje, wat jij wil is best php intensief programmeren. Het enige wat ik kan zeggen is begin aan de basis van je plan/idee en mocht je er op sommige stukken niet uit komen, kom dan hier voor hulp :D
Succes!!!!
Mooi antwoord Chris NVT!
,Koen Hollander
Koen hollander op 02/05/2012 11:20:42:
Het is leuk als je de gratis versie neemt, maar probeer ook eens een betaalde. Misschien werkt die wel wat beter. bijv. Outlook web access
,Koen Hollander
,Koen Hollander
Wat hij ermee wil doen is dat niet nodig, hij wil in principe alleen mail ophalen en dat verwerken in zijn website/database.
Altans dit is wat ik eruit haal.
P.S. MS Outlook Web Access is geen losse applicatie, dit krijg je alleen in combinatie met MS Exchange server. Wordt een duur geintje en veel kennis wil je dat klaarkrijgen.
De web client van SquirrelMail draait op de host provider.
Waar ik geen ervaring mee heb is hoe ik vervolgens de mailtjes + attachments (in bewerkbare formaten) doorsluis naar de site (php + msql).
Ik ging er vanuit dat ik hiervoor een script moest maken zoals in "E-mail ophalen van pop3 server d.d. 25-10-2010" beschreven met o.a. fsockopen(), socket_create() en socket_write()
Als dit via een web client makkelijker kan, dan nog graag een (gratis ;-) advies.
Chris Martinus
Kan je jouw probleem misschien een beetje beter formuleren, ik maak hier uit op dat je gewoon mailtjes wilt lezen via SquirrelMail
Koen hollander op 02/05/2012 14:24:52:
Kan je jouw probleem misschien een beetje beter formuleren, ik maak hier uit op dat je gewoon mailtjes wilt lezen via SquirrelMail
Nee squirrelmail was mijn input/optie er zijn 2 Chris'en hier dus houdt ze out elkaar :P
Hij wil in principe zijn 'mail' direct van de server uitlezen en in een db verwerken op een correcte manier. Zodat dit ook weer in een site kan komen (denk ik).
Al vind ik het raar dat je email op een site wil zetten en converteren naar een afbeelding.
Niet alleen de afbeelding, maar ook de tekst van een mailtje op een website plaatsen.
Een variant op social media zoals Facebook e.a.
Is dit mogelijk en zo ja, hoe.
Chris Martinus.
Uiteraard is alles mogelijk, maar Facebook zet mijn emails niet online voor zover ik weet. Doen ze dat wel zou ik het niet in dank afnemen.
Kun je misschien uitleggen waarom je persoonlijke email in je eigen db wilt zetten en zo online via een website? Komen hier dan ook bijvoorbeeld de email adressen bij te staan van de verzenders?
P.S. de opmerking van mij dat het raar was om een email te converteren naar een afbeelding was juist. Dat is raar en door jou OP nogmaals te lezen zie ik ook dat je dat niet wil, maar alleen de afbeelding in je attachment ;) Dus een leesfoutje van mij.
Een voorbeeldje:
Ik loop op bevrijdingsdag op de Dam en zie ineens de beroemde Chris NVT van Phphulp lopen. Ik pak mijn iPhone, -Pad, -Pod of Blackberry en neem een foto van hem. Vervolgens kies ik ervoor om deze foto door te mailen en zet eronder "Hier loopt Chris NVT" Het plaatje + de tekst worden automatisch vanuit de pop-server op de site geplaatst en alle bezoekers van de site zien voor het eerst de beroemde Chris NVT.
Dit zou ik, technisch, willen realiseren. En voordat je me ook nog vraagt om uitgebreid verslag te doen van mijn moeilijke jeugd in het klooster van Rolduc, vraag ik je of dit kan en vooral hoe.
Mijn dank is niet in woorden uit te drukken.
Met vriendelijke groet,
Chris Martinus.
p.s. Ik wil natuurlijk ook wel een foto van Koen Hollander plaatsen ;-)
Anders wordt alles in een stort postbak gegooid en wordt het niet gebruikers gebonden. Een andere manier is om het zodanig te filteren dat aan de hand van het email adres (Verzender) het naar het juiste profiel geschreven wordt.
Uiteraard is het mogelijk wat jij wel, maar denk wel dat hier heel veel bij komt kijken. Dit is technisch vrij hoog, en tijd rovend.
Tevens raad ik ook aan om de attatchments te resizen voordat je ze ophaald, want Ihpone foto's en menig andere smartphones hebben hoge resoluties en bestandsgrootte.
Vervoglens moet je het probleem zien te tackelen (mits je alle foto's centraal opslaat) dat hij alle afbeeldingen een unieke naam geeft, en niet de naam aanhoudt die hij origineel heeft. Dit puur voor het feit dat bijv nokia standaard afbeeldingsnamen heeft (afb001), wat zou betekenen dat als 100 mensen een nokia hebben de kans zeer groot wordt dat het bestanden met de zelfde naam tegen zal komen en dus gaat overschrijven.
Zorg ervoor dat je zeker bent dat het foto's zijn, niet dat iemand een willekeurige attatchment kan mailen wat leid tot malware, trojans, etc.
Bedrijven zoals Facebook hebben er een groot ontwikkel team achterzitten, jij bent 1 persoon (uiteraard niet lullig bedoeld!!!!). Dat maakt een zeer groot verschil.
Overweeg dit soort punten en kijk of je het nog wel aantrekkelijk vind, het kan zeker een leuk project zijn mits je zelf al genoeg ervaring in php en MySQL hebt.
Gewijzigd op 03/05/2012 10:06:51 door Chris PHP
Gewijzigd op 03/05/2012 10:22:17 door - Ariën -
Bedankt voor je suggesties. Aan de meeste ervan had ik al gedacht en (theoretische) oplossingen voor. Het project lijkt me leuk en leerzaam. Wanneer het eenmaal foutloos werkt, kijk ik weer uit naar een volgende uitdaging, maar dat geldt ook voor anderen.
Nu de hamvraag: hoe realiseer ik het onderdeel van pop3 of imap naar site en msql.
Hopelijk heb je hier ook een suggestie voor, al is het maar een beginnetje.
Voor Aar:
Bedankt voor je tip. Ik ga dit meteen verder uitzoeken.
Chris Martinus.
http://www.phphulp.nl/php/script/overig/class-imappop3-reader/1356/
Hoe je het in MySQL (of MsSQL op kan slaan lijkt me vervolgens niet zo lastig meer....)
Volg het advies van Aar op, check ook de links. Dat lijkt me een uitstekende start!
Succes, ben benieuwt hoe het lukt!
De basis hiervoor was imap.class.php (zie topic Class: Imap/pop3 reader d.d.29-05-2008. door Felix b, waarvoor alsnog ook veel dank)
I.v.m. met de eigenschappen van de hostprovider heb ik een kleine aanpassing moeten maken in de connect(), t.w.:
$opties[$counter++] = "pop3/novalidate-cert";
Daarnaast moest de php versie naar 5.3.3. worden opgehoogd
Hiervoor is de volgende ..htaccess in httpdocs geplaatst:
AddHandler x-httpd-php53 .php (let op de 2 spaties na 53)
E-mails met en zonder bijlagen worden naar een apart e-mailaccount gemaild.
Met het ontwikkelde script + imap.class worden de ontvangen e-mails en eventuele bijgaande afbeeldingen ingelezen.
Het subject en de body worden opgeslagen in msql en de imap_base64 attachementinformatie wordt met behulp van imagecreatefromstring() en imagejpeg() omgezet in het jpg formaat. De afbeelding wordt m.b.v. o.a. imagecopyresampled() qua grootte aangepast en met o.a. imagerotate() zonodig gekanteld.
Ik ben nog aan het zoeken naar een oplossing voor het automatisch reageren op de exif orientation (mogelijk m.b.v. ImageMagick)
De afbeeldingen worden hernoemd en verplaatst met een aanduiding met time() als basis, aangevuld met .'-'.$i++ (bijvoorbeeld: 1336380799-4.jpg) wat in de msql ook de corresponderende id is tussen de verschillende tabellen.
Het script draait vooralsnog naar wens en mogelijk moeten er nog wat kleine aanpassingen plaatsvinden.
Nogmaals, dank voor het meedenken.
Chris Martinus.