[php] html email-> linkje maken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik stel een email samen in mijn script en wil deze vervolgens versturen met mail().

Werkt top, alleen een linkje maken heeft ie geen zin in helaas.....
Dit is hoe ik hem opstel:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$headers = "From: $from_name<$from_email>\n";
$headers .= "Reply-To: <$from_email>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/related; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n";
$headers .= "X-Sender: $from_name<$from_email>\n";
$headers .= "X-Mailer: PHP4\n"; //mailer
$headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
$headers .= "Return-Path: <$from_email>\n";
$headers .= "This is a multi-part message in MIME format.\n";
$headers .= "------=MIME_BOUNDRY_main_message \n";
$headers .= "Content-Type: multipart/alternative; boundary=\"----=MIME_BOUNDRY_message_parts\"\n";

// your html goes here -- It didn't appear properly without
// the weird markup that outlook added after sending
$message .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
$message .= "<HTML><head><style>p {padding: 20px; font-family: verdana; font-size: 12px; color: darkred}</style></head><BODY>\n";
$message .= "<p>";

    // eigenlijk (HTML) email
    $linkje = "www.website.nl/view.php?id=" . $varSessie;
    $message .= $linkje;
    $message .= 'surf snel naar ********</b>';



$message .= "</p></BODY></HTML>\n";
$message .= "\n";

// this ends the message part
$message .= "------=MIME_BOUNDRY_message_parts--\n";
$message .= "\n";

//message ends
$message .= "------=MIME_BOUNDRY_main_message--\n";


als ik dan in mijn email kijk dan heeft hij van *view.php?id=huppeldepup
iets anders gemaakt... (dwz dat het is teken (=) veranderd is in een raar teken...)

Het erge is dat ik dit wel herken maar niet meer weet hoe ik het op moet lossen... kan iemand me helpen? Ik heb al gezocht maar ik kom er niet uit.

edit:

topic gevonden met "letters opeten" alleen daar kon ik ook niet wijs uit worden.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:25

TeeDee

CQB 241

URLEncoden?

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 19:04
dat rare teken heeft te maken met het veranderen van de = in "url-code". php gebruikt hier urlencode en urldecode voor.

Wrom maak je niet een link in html: <a href="link">Blaat</a>

edit:
Dom: underscores in functies

[ Voor 46% gewijzigd door FlowinG op 22-12-2003 15:14 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Met welke functie? htmlentities() werkt niet.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20:25

TeeDee

CQB 241

Verwijderd schreef op 22 december 2003 @ 15:08:
[...]


Met welke functie? htmlentities() werkt niet.
Wat FlowinG zegt. PHP ken ik niet :)

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Fuzzillogic
  • Registratie: November 2001
  • Laatst online: 01-07 22:34
Oplossing: geen HTML mail sturen. Veel mensen stellen het echt niet op prijs als je hen verveelt met HTML-drek & meuk. Bovendien is de kans groter dat het als spam wordt aangemerkt (en terecht, imo)

Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 19:04
@ Nexxennium: gelijk heb je, maar sommige klanten willen een mooie nieuwsbrief in multipart. Ik dus een script maken, 1500 mails versturen. Van die leuke filters die alle plaatjes eruit filteren. 't Geeft aardig wat problemen ja

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nexxennium schreef op 22 december 2003 @ 15:09:
Oplossing: geen HTML mail sturen. Veel mensen stellen het echt niet op prijs als je hen verveelt met HTML-drek & meuk. Bovendien is de kans groter dat het als spam wordt aangemerkt (en terecht, imo)
Die keuze maak ik niet zelf... Maar urlencode werkt helaas niet!

Acties:
  • 0 Henk 'm!

  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 19:04
kan je ff weergeven wat ie nou precies weergeeft? (dus gewoon een klein stukkie copy-pasten)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
FlowinG schreef op 22 december 2003 @ 15:13:
kan je ff weergeven wat ie nou precies weergeeft? (dus gewoon een klein stukkie copy-pasten)
dit:

PHP:
1
2
3
4
$linkje = "<a href=3d\"www.***.com/view.php?wensID=" . $varSessie . "\">linkje</a>";

// waarde van varSessie=
// 7b09bb437506a991787699606ef39d88


wordt dit:

(een linkje in de email met een verwijzing naar:
www.***.com/view.php?wensID{09bb437506a991787699606ef39d88
)

Het =7b wordt dus vervangen!


EDIT: Het heeft duidelijk met het = teken te maken

[ Voor 16% gewijzigd door Verwijderd op 22-12-2003 15:24 ]


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

= is een escape character in mail. Vervang de = door =3D en het werkt wel. In principe had je dit zelf ook wel uit kunnen vinden door in wat rfc's te lezen of door gewoon ff een ascii table erbij te pakken en te kijken welk teken bij 7b hoort (dat is dus de {).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

als ik me eigen class gebruik kan ik er gewoon simpel html in gooien en eventueel bijlagen sturen

http://www.spidow.nl/index2.php?pagina=script&id=61 misschien heb je er wat aan?

[ Voor 6% gewijzigd door Verwijderd op 22-12-2003 15:46 ]


Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Ter info: lijn 9-11 ($headers) behoren eigenlijk onderdeel van $message te zijn
Pagina: 1