Afbeelding in E-mail toevoegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nieko

Nieko

14/11/2009 16:03:00
Quote Anchor link
Beste PHP-ers,

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
 
PHP hulp

PHP hulp

16/11/2024 20:06:35
 
Tom Van Sichem

Tom Van Sichem

14/11/2009 16:29:00
Quote Anchor link
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).
 
Nieko

Nieko

14/11/2009 17:33:00
Quote Anchor link
Tja, het linken van de afbeelding gaat niet het gewenste resultaat opleveren, dat zou ik zelf ook wel voor elkaar krijgen. OF de afbeelding moet wel weergegeven moeten worden in de E-mail.
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
 
Nieko

Nieko

15/11/2009 00:15:00
Quote Anchor link
Ik heb er nog even mee zitten stoeien. Ik zag dat ik hier voor een bepaalde header moest invullen.
Om precies te zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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";
?>

Na deze toegevoegd te hebben werkt het helaas nog niet. Ik krijg bij het toevoegen van een plaatje het volgende in de mail:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="http://website.nl/img/mijn_plaatje.png">

De link is wel aanklikbaar en klopt. Dit is helaas niet wat ik wil..
Gewijzigd op 01/01/1970 01:00:00 door Nieko
 
Tom Van Sichem

Tom Van Sichem

15/11/2009 12:46:00
Quote Anchor link
Ben je zeker dat je je mail verstuurd als HTML-mail?
 
Noppes

Noppes

15/11/2009 13:02:00
Quote Anchor link
Wel kijk eens naar
<img src="cid:plaatje1" .. />

en dan ergens anders staan boudry headers

en dat noemen ze dan embed image
 
Nieko

Nieko

15/11/2009 17:24:00
Quote Anchor link
@R3Q,
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;
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$inhoud_mail
.= "<img src=\"http://www.website.nl/img/mijn_plaatje.png\" />";
?>

Telkens krijg ik het resultaat wat in mijn vorige post staat.

@Noppes,
Wat bedoel je precies met "cid:plaatje1"?
 
Noppes

Noppes

15/11/2009 17:47:00
Quote Anchor link
Tja dan moet je maar zoeken op:
email embed image
 
Nieko

Nieko

15/11/2009 21:47:00
Quote Anchor link
Ik kwam er achter dat ik helemaal vergeten was om alle HTML tags toe te voegen aan de E-mail. Na dit gedaan te hebben werkt het nog steeds niet.
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?
 
Koen

koen

16/11/2009 09:19:00
Quote Anchor link
ik probeer nu hetzelfde te bereiken, het iritante is dat ik wel een e-mail krijg, maar het plaatje niet word weergegeven...
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
 
Nieko

Nieko

17/11/2009 22:56:00
Quote Anchor link
Sorry, maar wat bedoel je precies met "taggen"?
 
Koen

koen

18/11/2009 09:11:00
Quote Anchor link
je tags,
dus je <HTML> <BODY> <IMG> dat zijn tags.
die je gebruikt om html weer te geven in je mail.
 
Nieko

Nieko

19/11/2009 00:05:00
Quote Anchor link
Ah ok. Ja ik snap dat wel ja. Uiteraard beheers is HTML en pas ik het binnen PHP net zo toe als normaal HTML (uiteraard bij de " een \ er voor en dat soort dingetjes).
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.
 
Koen

koen

19/11/2009 09:14:00
Quote Anchor link
jawel, head tags mag je niet gebruiken in je mail...
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<img src="" alt=""/>';
?>
Gewijzigd op 01/01/1970 01:00:00 door koen
 
Nieko

Nieko

19/11/2009 23:23:00
Quote Anchor link
Oké, na het script van PHP.net te hebben geprobeerd ben ik achter een fout gekomen. Bij de headers stond er voor de = geen ., waarom? Dat weet ik niet. maar het werkt in ieder geval!

Hartelijk dank voor jullie hulp en het meedenken!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.