Avatar billede acmed Nybegynder
19. januar 2004 - 21:12 Der er 4 kommentarer og
1 løsning

Problemer med formattering af email sendt med mail()

Jeg har følgende problem:

Jeg har lavet et script, der sender en mail når nogen har reserveret på en hjemmeside.
I den mail, er der et link, som modtageren kan trykke på, så det reserverede bliver tilføjet databasen automatisk.
Emailen bliver sendt ud med mail()

Mit problem er, at der vilkårlige steder i linket bliver indsat et "!" (udråbstegn).

Det kan f.eks. se sådan her ud:

hxxp://www.abc.dk/internal/xxx.php?faellesrum_dato=25.%20Januar,%202004&faellesrum_dato_db=2004-01-25&from_time=16:00:00&to_time=24:00:00&name=Test&adress=Adresse&phone=8250xxxxxx&!email=aaa@aaa.dk&description=Fest

Bemærk udråbstegnet før email ("=8250xxxxxx&!email=aaa@aaa.dk").

Problemet med udråbstegnet er, at det sidder lige der (i det her tilfælde), hvor variablen email er. Det betyder at personens emailadresse så ikke bliver genkendt, og et automatisk svar ikke kan sendes tilbage så.

Min kode:
<?php

include("../includes/db_connect.php");
include("../includes/db_alias.php");

if ($email==''){
$email='noemail';
}

$site_base = 'http://www.xxx.dk/';

$emailrec = 'bbb@bbb.dk';

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: xxx <xxx@xxx.dk>\n";
$headers .= "X-Sender: xxx@xxx.dk\n";
$headers .= "X-Mailer: PHP\n"; // mailer
// $headers .= "X-Priority: 0\n"; // normal message!
$headers .= "Return-Path: xxx@xxx.dk <faellesrum@daniakollegiet.dk>";

$overskrift = "Leje af faellesrum";

$emailtekst = "<<< MAIL FRA xxx HJEMMESIDE >>><br><br>";
$emailtekst .= "Forespørgsel om leje af fællesrummet:<BR><BR>";
$emailtekst .= "---------------------------------------------<BR>";
$emailtekst .= "Leje-dato: <b>".$faellesrum_dato."</b><BR>";
$emailtekst .= "---------------------------------------------<BR>";
$emailtekst .= "<TABLE BORDER=\"0\" CELLSPACING=\"3\" CELLPADDING=\"2\"><tr><td>";
$emailtekst .= "Navn:</td><td><b>".$name."</td></tr><tr><td>";
$emailtekst .= "Adresse: </td><td><b>".$adress."</b></td></tr><tr><td>";
$emailtekst .= "Tlf.: </td><td><b>".$phone."</b></td></tr><tr><td>";
$emailtekst .= "Email: </td><td><b>".$email."</b></td></tr><tr><td>";
$emailtekst .= "Ønskes lejet til: </td><td><b>".$description."</b></td></tr></table><BR>";
$emailtekst .= "---------------------------------------------<BR>";
$emailtekst .= "Tryk på dette link for at tilføje personen til databasen:<BR><BR>";
$emailtekst .= "<A HREF=\"".$site_base."internal\aaa.php?faellesrum_dato=".$faellesrum_dato."&faellesrum_dato_db=".$faellesrum_dato_formatted."&from_time=16:00:00&to_time=24:00:00&name=".$name."&adress=".$adress."&phone=".$phone."&email=".$email."&description=".$description."&magicword=itsmagic&dymmy=1&dummy=2\">Tilføj ovenstående direkte til databasen</A>";

$emailtekst .= "<br><br>";

mail ($emailrec,$overskrift,$emailtekst,$headers);

print $emailrec.'<br>'.$overskrift.'<br>'.$emailtekst.'<br>'.$headers.'<br><br>';

?>


<HTML><HEAD><TITLE>Email afsendt...</TITLE>
<meta name="Generator" content="Stone's WebWriter 4">
</HEAD>
<BODY>


<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=../faellesrum/index.php">
</body>
</HTML>


Bemærk at jeg har prøvet at skrive linket ud i linien:
print $emailrec.'<br>'.$overskrift.'<br>'.$emailtekst.'<br>'.$headers.'<br><br>'.$emailtekst2;

Dér skriver den linket korrekt, dvs. uden udråbstegn.
Det er altså et eller andet der opstår når mailen sendes.

Er det et formatteringsproblem? Et mailserver problem? (vi har en lille linux server stående som mailserver).
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 21:15 #1
Det er outlook eller exchange, der modtager din mail, der gør. Det
har jeg i hvert fald oplevet. En af de små julegaver Microsoft har
lagt til os, så vi bliver glade;)
Avatar billede erikjacobsen Ekspert
19. januar 2004 - 21:17 #2
Prøv at sende samme mail til en @sol.dk konto og se forskellen.
Avatar billede acmed Nybegynder
20. januar 2004 - 00:03 #3
Har prøvet både med en Hotmail konto og en anden mail konto (blop.dk) nu.
Stadig samme problem... Andre forslag?
Avatar billede thomasrba Nybegynder
20. januar 2004 - 00:42 #4
Prøv at kalde din variabel $email noget andet - f.eks $mailadresse

."&email=".$email. skal så laves om til ."&mailadresse=".$email.

Mvh ThomasB
Avatar billede acmed Nybegynder
20. januar 2004 - 00:55 #5
Fandt en løsning:
http://forums.devshed.com/archive/5/2003/9/4/43460

Man skal åbenbart bare skrive:
$emailtekst = wordwrap($emailtekst, 72);

Ser ud til at virke!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel