Afbeelding in E-mail toevoegen
Ik ben opzoek naar een manier om afbeeldingen die reeds op de server staan in te voegen in een E-mail.
De E-mail word verstuurd via een Contact Formulier, de afbeelding is een standaard afbeelding met een vast plek.
Op het moment draai ik dit script:
http://www.phphulp.nl/php/scripts/2/12/
Hier heb ik zelf wat aanpassingen op gemaakt zodat het beter en stabieler werkt.
Ik heb al wat rond gekeken en wat geprobeerd, maar eerlijk gezegd begrijp ik er niet zo veel van.
Kan iemand mij hiermee helpen? Wellicht is het gewoon een kwestie van het zoeken naar de juiste PHP functie, of niet?
Alvast bedankt voor de moeite!
Nieko
Hoi, ik begrijp niet helemaal precies je vraag, maar in regel wordt aangeraden afbeeldingen niet te embedden in een mail. Beter is het enkel te verwijzen naar een afbeelding op je webserver in je html-code (en vermits je aangaf dat deze afb. op een server staat, zie ik geen probleem).
Het gaat er meer om dat ik een afbeelding in de E-mail zelf kan toevoegen.
Dit zal een afbeelding zijn van enkele KiloBytes, dus veel is het niet.
Gewijzigd op 01/01/1970 01:00:00 door Nieko
Om precies te zijn:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$headers = 'MIME-Version: 1.0\r\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1\r\n';
?>
OF
<?php
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>
$headers = 'MIME-Version: 1.0\r\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1\r\n';
?>
OF
<?php
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>
Na deze toegevoegd te hebben werkt het helaas nog niet. Ik krijg bij het toevoegen van een plaatje het volgende in de mail:
De link is wel aanklikbaar en klopt. Dit is helaas niet wat ik wil..
Gewijzigd op 01/01/1970 01:00:00 door Nieko
Ben je zeker dat je je mail verstuurd als HTML-mail?
<img src="cid:plaatje1" .. />
en dan ergens anders staan boudry headers
en dat noemen ze dan embed image
Als ik de headers die ik in mijn vorige post mee stuur, dan moet de E-mail als het goed is in HTML verzonden worden.
Als ik vervolgens de HTML code gebruik voor een plaatje, dan krijg ik de code te zien.
Dit is de HTML code in PHP;
Telkens krijg ik het resultaat wat in mijn vorige post staat.
@Noppes,
Wat bedoel je precies met "cid:plaatje1"?
email embed image
Met de HTML tags krijg ik helemaal geen E-mail meer binnen.
Na het verwijderen van de $_SERVER['SCRIPT_URI'] kreeg ik wel weer mail binnen.
Echter staat er letterlijk de HTML code in. Ik dacht dat het iets te maken had met de zogenaamde "spambot protectie" (zoals in het script staat). Maar dit maakt ook niks uit.
De functie htmlentities() heeft hier ook niets mee te maken heb ik al gezien. Verder zie ik niet zo heel veel verschillen met het voorbeeld op PHP.net.
Ik gebruik Thunderbird en de standaard webmail om te kijken naar de berichten.
Weet iemand wat ik verkeerd doe?
op hotmail krijg ik dan een grijs vierkantje te staan
opgelost...
als je de afbeelding embed met html, alleen html en body tags gebruiken met de img tag, en een directe link naar de locatie van je afbeelding.
dan word het embedded meeverzonden.
er word echter op gelet door mailfilters:
dat je html ook getagged is. en dat niet je hele bericht in html is..
als je dan ook nog geen tags gebruikt komt ie in ongewenste mail. en dat wil je niet...
nog wat extra edits:
als je html text wilt invoeren via php:
doe dan
$bericht='<img src="plaatje.jpg" alt="let op de quotes"/>';
en misschien domme opmerking, maar sluit je je tags ook?
Gewijzigd op 01/01/1970 01:00:00 door koen
Sorry, maar wat bedoel je precies met "taggen"?
dus je <HTML> <BODY> <IMG> dat zijn tags.
die je gebruikt om html weer te geven in je mail.
Ik heb dus ook al mijn tags gesloten (de img tag hoeft niet gesloten te worden zoals bij normaal HTML, of niet?).
Ik had nog even de head tag verwijderd, maar dit maakt ook niks uit.
Ik vind het allemaal maar vreemd. Ik denk dat ik morgen eens letterlijk dat voorbeeld van PHP.net ga proberen.
btw als je je html wilt echo'en of iets dergelijks, en je begint met een single quote ', dan hoef je alle double quotes " niet te escapen.
bijv.
Gewijzigd op 01/01/1970 01:00:00 door koen
Hartelijk dank voor jullie hulp en het meedenken!