Avatar billede ostehamster Nybegynder
15. juni 2003 - 23:44 Der er 12 kommentarer og
1 løsning

Problemer med mail()

Hejsa

Jeg har denne kode:

# Sender email
$message = $data;
$subject = "Bekraeft abonnent på forumkategorien " . $titel . " på " . $sidenavn;

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: ".$mail_robot_navn." <".$mail_robot_email.">\r\n";
$headers .= "To: ".$_POST['navn']." <".$_POST['email'].">\r\n";
$headers .= "Reply-To: ".$mail_robot_navn." <".$mail_robot_email.">\r\n";
$headers .= "X-Priority: 3\r\n";
$headers .= "X-MSMail-Priority: Normal\r\n";
$headers .= "X-Mailer: Sendmail at " . $url;

mail($_POST['email'], $subject, $message, $headers);

Den virker ganske fint på min egen maskine, men på forskellige webhoteller dur den  ikke.

Det laver rod i headeren, således at den simpelthen stoppe headeren. Det betyder at alt efter Mime ver..... bliver til tekst i emailen, og ikke header.

Desuden sender den to emails ud af gangen, hvis jeg fjerner $headers .= "To: ".$_POST['navn']." <".$_POST['email'].">\r\n"; sender den kun en, men denne linie vil jeg meget gerne have med.

Er der nogle der kan se nogle fejl?

mvh
Christoffer
Avatar billede schaefner Juniormester
15. juni 2003 - 23:46 #1
Prøv:

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "From: $mail_robot_navn <$mail_robot_email>\n";
$headers .= "To: $_POST[navn] <$_POST[email]>\n";
$headers .= "Reply-To: $mail_robot_navn <$mail_robot_email>\n";
$headers .= "X-Priority: 3\n";
$headers .= "X-MSMail-Priority: Normal\n";
$headers .= "X-Mailer: Sendmail at url";
Avatar billede ostehamster Nybegynder
15. juni 2003 - 23:48 #2
altså bare fjerne alle \r?
Avatar billede schaefner Juniormester
15. juni 2003 - 23:48 #3
ja
Avatar billede ostehamster Nybegynder
15. juni 2003 - 23:53 #4
Nu skriver den hele headeren rigtigt, men der hvor der i email teksten er linie skift \n, laver den ikke mellem?

Og den sender stadig to mails
Avatar billede ostehamster Nybegynder
15. juni 2003 - 23:56 #5
ok, nu har jeg fundet ud af det med linie skift

køre bare str_replace("\r\n","\n",$message);

hvad er \r?
Avatar billede schaefner Juniormester
15. juni 2003 - 23:58 #6
det kaldes vidst return, men spørg mig ikke ;)
Avatar billede ostehamster Nybegynder
15. juni 2003 - 23:58 #7
ok, har du nogen ide til det med de to email?
Avatar billede schaefner Juniormester
16. juni 2003 - 00:00 #8
ja, som du selv skriver, at fjerne To: ... Hvorfor vil du have den med?
Avatar billede ostehamster Nybegynder
16. juni 2003 - 00:03 #9
Skal den ikke være der, så email klienten kan se hvem den er sendt til?
Avatar billede schaefner Juniormester
16. juni 2003 - 00:04 #10
i mail-funktionen skriver du jo emailen:

mail($_POST['email'], $subject, $message, $headers);
Avatar billede ostehamster Nybegynder
16. juni 2003 - 00:04 #11
he, den kommer med alligevel, det er derfor :)
Avatar billede ostehamster Nybegynder
16. juni 2003 - 00:06 #12
jeps, gider du smide et svar
Avatar billede schaefner Juniormester
16. juni 2003 - 00:07 #13
svar :)
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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