Hallo,

Ik wil in mijn hoofding van de mail eerst een logo tonen,maar in plaats van de logo geeft het mij telkens dit

<img src="http://www.dcjt.be/mail/geo_db_logo.png"; alt="Hotel" \r\nBeste Dirk,<br/><br/>Dit is een automatische mail opgemaakt vanuit Geo_database, u kan daar dan ook geen replay op doen.

normaal zou je dit moeten zien :





dit is mijn code , wat is er hier mis aan .

Alvast bedankt
Dirk



code:


<?php
if (IsSet($_POST['submit']))
{
$email_ontvanger = $_POST['naar_emailadres'];
$voornaam = $_POST['naar_voornaam'];

$onderwerp = "Inbreng in Geo_database";

$headers = "From: NOREPLAY(Geo_db)\r\n";



$body = '<img src="http://www.dcjt.be/mail/geo_db_logo.png"; alt="Hotel" \r\n';
$body .= 'Beste '.$voornaam.',<br/><br/>';
$body .= "Dit is een automatische mail opgemaakt vanuit Geo_database, u kan daar dan ook geen replay op doen.\r\n";
$body .= "Volgens de laatste gegevens is het al minimum een maand geleden dat u nog een inbreng hebt gedaan in Geo_database.\r\n";
$body .= "Afspraak was om regelmatig(per maand) een eigen inbreng te doen(actief lid).\r\n";
$body .= "Een actief lid is een meerwaarde voor iedereen die hier actief deelneemt.\r\n";
$body .= "Mogen wij u beleefd vragen om actief deel te nemen , zo heeft er iedereen iets aan.\r\n\r\n";
$body .= "mvg,\r\n";
$body .= "Geo_db ";








mail($email_ontvanger, $onderwerp, $body, $headers);

}
else
{
?>
<form action="" method="post">
<br /><br />
Mail versturen naar een lid van GEO_DB die niet actief meer is <br />
-----------------------------------------------------------------------------
<br /><br />

Voornaam ...............: <input type="text" size="35" name="naar_voornaam"><br /><br />
Email ontvanger......: <input type="text" size="35" name="naar_emailadres"><br /><br />

<br /><br />
<input type="submit" name="submit" value="versturen">
</form>
<?php
}
?>
gebruik inline-css en maak je foto(png) bestand base64, zodat het niet bij je server opgehaalt moet worden.
Lorenzho Dealorde op 24/10/2017 16:19:19

gebruik inline-css en maak img base64 i.p.v. dat het bij de server opgehaalt moet worden.

Dit zorgt er tevens voor dat je gebruiker niet achteraf nog de bestanden moeten downloaden om je header te zien. Ik meen dat er ook nog technieken zijn om het als attachement mee te sturen, en het daarvandaan in te laden. Maar hoe die ondersteuning is, weet ik niet. Ik heb het niet vaak gezien.
dit zou je eventueel kunnen toevoegen als je het als een attachment wilt sturen.

$attachment = chunk_split(base64_encode(file_get_contents('bestand.png')));


--PHP-mixed-<?php echo $random_hash; ?>  
Content-Type: image/png; name="bestand.png"  
Content-Transfer-Encoding: base64  
Content-Disposition: attachment 



<?php echo $attachment; ?> 
--PHP-mixed-<?php echo $random_hash; ?>--



of vraag het in een simpele manier op.
$headers = file_get_contents('http://wwww.website.nl/bestand.png');
@- Ariën -: waar jij op doelt is Content ID (CID). Je bijlage geef je dan Content-Disposition: inline mee, en een Content-ID, en vervolgens kun je in de mail direct naar deze bijlage verwijzen via <img src="cid:xxx" ... />.

In plaats van zelf met headers te gaan lopen klooien kun je het jezelf ook een stuk makkelijker maken door SwiftMailer te gebruiken: https://swiftmailer.symfony.com/docs/messages.html#embedding-inline-media-files
Rob Doemaarwat op 24/10/2017 16:42:39

@- Ariën -: waar jij op doelt is Content ID (CID). Je bijlage geef je dan Content-Disposition: inline mee, en een Content-ID, en vervolgens kun je in de mail direct naar deze bijlage verwijzen via <img src="cid:xxx" ... />.

In plaats van zelf met headers te gaan lopen klooien kun je het jezelf ook een stuk makkelijker maken door SwiftMailer te gebruiken: https://swiftmailer.symfony.com/docs/messages.html#embedding-inline-media-files


^^ lijkt me in het algemeen het beste om te doen.
Gebruik gewoon een phpclass oplossing om html mail te kunnen versturen waarom het wiel uitvinden als iemand anders dital heeft gedaan.
Psst!

Op regel 13 mist de > van de image tag:

Dat is de reden dat het een beetje html soep wordt...



$body = '<img src="http://www.dcjt.be/mail/geo_db_logo.png" alt="Hotel" \r\n';



En als dit helpt: stuur eens een PM met 10 geocaches die ik nog niet ken in de buurt van Arnhem..... #GPS uit het vet trekt.

Reageren