[PHP] mail: hoe een eml verzenden?

Pagina: 1
Acties:
  • 178 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 138552

Topicstarter
Hoi,

ik heb een eml die ik wil verzenden aan iedereen in de mailingslist. Ik heb dus een html mail aangemaakt in outlook en dan opgeslagen als .eml . Ik doe dit omdat de mail enkel bestaat uit één plaatje en als ik dit als eml verzend dan komt het plaatje meteen tevoorschijn als iemand die mail leest, zonder image blocker enz...

Maar hoe verzend ik dit juist in php?

thx

Acties:
  • 0 Henk 'm!

Anoniem: 26306

Bekijk de "broncode" van de .eml met een teksteditor, laat de onnodige headers eruit, en pas de overige headers aan indien nodig. Kortom, je moet wat verstand hebben van hoe e-mails eruitzien. RFC 2045 en 2046 zijn een goed begin. En dan kun je zelf wel uitvinden wat je met PHP moet versturen om het gewenste resultaat te krijgen.

Maar als je dit soort dingen niet zelf kunt bedenken zou ik ook maar niet gaan programmeren.

Acties:
  • 0 Henk 'm!

Anoniem: 138552

Topicstarter
Anoniem: 26306 schreef op zondag 24 september 2006 @ 11:30:
Bekijk de "broncode" van de .eml met een teksteditor, laat de onnodige headers eruit, en pas de overige headers aan indien nodig. Kortom, je moet wat verstand hebben van hoe e-mails eruitzien. RFC 2045 en 2046 zijn een goed begin. En dan kun je zelf wel uitvinden wat je met PHP moet versturen om het gewenste resultaat te krijgen.

Maar als je dit soort dingen niet zelf kunt bedenken zou ik ook maar niet gaan programmeren.
Ik heb verstand van html mails versturen hoor. Maar als ik naar de bron kijk dan zie ik:
Headers From, To, X-MimeOLE,... die kunnen eruit. Maar dan zie ik ook:

code:
1
2
3
4
5
6
7
8
9
10
11
This is a multi-part message in MIME format.

------=_NextPart_000_000A_01C6DF17.81B01400
Content-Type: multipart/alternative;
    boundary="----=_NextPart_001_000B_01C6DF17.81B01400"


------=_NextPart_001_000B_01C6DF17.81B01400
Content-Type: text/plain;
    charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


... Dan komt de html

code:
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2963" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2><IMG alt=3D"" hspace=3D0=20
src=3D"cid:000501c6df06$bc5ff180$6500a8c0@pcddin" align=3Dbaseline=20
border=3D0></FONT></DIV></BODY></HTML>


en hierna komt dan nog wat code waar ik niet van weet wat ik ermee moet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
------=_NextPart_001_000B_01C6DF17.81B01400--

------=_NextPart_000_000A_01C6DF17.81B01400
Content-Type: image/gif;
    name="jeail.gif"
Content-Transfer-Encoding: base64
Content-ID: <000501c6df06$bc5ff180$6500a8c0@pcddin>

R0lGODlhWAIaA/cAAKXo7M4AEP6Fk9eUmjHv/yJRrSMjI9Kabfn21QAukpCwNYxCQ2sACGz3/wA4
q//bdf9KW01NS+jp6P/uuu97hgi1zmqPNLi5t9na3LBRRRVNUMf7/PupryxLIf/HRHBwbbXOMaXQ
rZYACADO59CutLUpMo+PkP+9GP8WLrV7g6xycrLMZJtlZitRUvu7xEJ2uPPe5ogtK7yNkbW7ykx0
R/9rcxDn/2qTQ///7v3o5zdqQtrc6N69xk5tbMfHxkVFN/WrlP1WZ0lQafnv9tVSYtoAEMRZQvUp
NwAmdHGOjcaco2hnVycwE/Y9Si40SUTv/2VXTrkBEU6NjTdJZbkACMvLtK0IFZS0RLiJc2+xsc9s
b3CNcIcACBgtMsjcaRYwRVaGRJWrtE+KcKnFNefa2TZraJVRM3siI4yKc1+xwk1qLeb//xJnc3cA
CHF5hNfnlQ8MCqurm25yMYyYrP/ejJGtlAiZqtzKy80pOW+plOjO1nykPY1sUVFskdvrsM7W3E8E
C79SYiqEkO7v8mdNNjw2MSkLCNfp14uPSNjXzHiKqJGtbxcmD1Wpr8XXkkdOGMLVWf7Hpow5QMvN
09iojv/nnCjb8TiGaUwzSnKsbpVUWIkBF3nH0qm4cGp2qO5nBqh1V//Gzv/W1q62TJYDFXsIEQoZ
NmlXYLXOKQEZTjA6X1CZoUtYhFmilUl8wBCCkXQQFXQXIMttVE5mGmsGEGsQEKuKUiqYqfuYncjY
.....

Acties:
  • 0 Henk 'm!

  • G33rt
  • Registratie: Februari 2002
  • Laatst online: 22-06-2022
Dat laatste stuk is gewoon het gifje dat je mee wil sturen :)

Acties:
  • 0 Henk 'm!

  • moozzuzz
  • Registratie: Januari 2005
  • Niet online
Ik heb verstand van html mails versturen hoor. Maar als ik naar de bron kijk dan zie ik:
Headers From, To, X-MimeOLE,... die kunnen eruit. Maar dan zie ik ook:
Je zal je verstand moeten bijschaven. Google even op php+mail+inline images... Al bij al relatief makkelijk!

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Plus dat je de mail verzend als text/plain... ;) In plaats van direct als text/html

Acties:
  • 0 Henk 'm!

  • Pete
  • Registratie: November 2005
  • Laatst online: 15-12-2024
Anoniem: 138552 schreef op zondag 24 september 2006 @ 11:26:
.... Ik heb dus een html mail aangemaakt in outlook en dan opgeslagen als .eml . Ik doe dit omdat de mail enkel bestaat uit één plaatje en als ik dit als eml verzend dan komt het plaatje meteen tevoorschijn als iemand die mail leest, zonder image blocker enz...

Maar hoe verzend ik dit juist in php?
Met phpmailer (phpmailer.sf.net) kun je ook inline-images versturen. Kijk maar in de documentatie. Dan heb je niet zo'n (imo lelijke) omweg nodig.

petersmit.eu


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 11-06 11:55
GJ-tje schreef op maandag 25 september 2006 @ 14:55:
Plus dat je de mail verzend als text/plain... ;) In plaats van direct als text/html
Die outlook express eml file bevat waarschijnlijk netjes een multipart/alternative mime part waar een text/plain en een text/html mime part onderdeel van zijn.
In het ideale geval bevat het zelfs een text/plain en een mutipart/related mime part waar multipart related weer een text/html en een image/gif bevat. De gif file is dan vervolgens via de relatie cid -> content-id onderdeel van de html mail wat er weer toe leidt dat het plaatje inline wordt weergegeven.

Nog even in structuur:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
rfc822 header: content-type multipart/alternative; boundary="boundary-multipart-alternative"

--boundary-multipart-alternative
content-type: text/plain

text in text/plain

--boundary-multipart-alternative
content-type: multipart/related; type=text/html; boundary=boundary-multipart-related

        --boundary-multipart-related
        content-type: text/html

        html meuk

        --boundary-multipart-related
        content-type: image-gif;
        content-id="...."

        base64 encoded data gif file
        --boundary-multipart-related--
--boundary-multipart-alternative--

De indentation is bovestaand voorbeeld is gebruikt om de structuur zichtbaar te maken. In het echt moet de indentation achterwege gelaten worden.

[ Voor 5% gewijzigd door stekkel op 25-09-2006 20:48 ]

Pagina: 1