Avatar billede ndifil Nybegynder
30. december 2011 - 00:47 Der er 9 kommentarer og
1 løsning

send mail med lang tekst

Hej

jeg har denne kode for at sende mail til bcc modtagere
men når teksten har mere end ca. 300 tegn fejler scriptet

$to = $l_email;
$subject = $v_emne_txt. "\r\n";
$message .= $v_email_txt. "\r\n";
$message .= 'Mvh '.$l_name. '<br>';
$message .= '<A href='.$v_url.'>'.$v_kreds.'</A>';


$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= "Bcc: ".$modtager."\r\n";
$headers .= "From:".$l_name."<".$l_email.">"."\r\n";



if(mail($to, $subject, $message, $headers)) {
    echo 'e-mail blev sendt.';

}
else {
    echo 'e-mail blev ikke sendt.';
}
Avatar billede The_Buzz Novice
30. december 2011 - 09:08 #1
http://php.net/manual/en/function.mail.php
// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

Prøvet det?
Avatar billede The_Buzz Novice
30. december 2011 - 09:09 #2
og så står der forøvrigt også dette:

Note:

It is worth noting that the mail() function is not suitable for larger volumes of email in a loop. This function opens and closes an SMTP socket for each email, which is not very efficient.

For the sending of large amounts of email, see the » PEAR::Mail, and » PEAR::Mail_Queue packages.
http://php.net/manual/en/function.mail.php
Avatar billede olebole Juniormester
30. december 2011 - 15:45 #3
<ole>

Umiddelbart er der ikke noget, der tyder på, at fejlen skulle skyldes din kode - og slet ikke ved kun 300 tegn.

Hvad sker der, hvis du prøver at sende en enkelt mail med værdierne hardcoded ind i scriptet i stedet for variablerne? Prøv at skriv koden i helt sit eget dokument uden noget somhelst andet.

/mvh
</bole>
Avatar billede ndifil Nybegynder
31. december 2011 - 11:58 #4
Ole det gav en ændring

Jeg satte hele HTML teksten ind i stedet for variablen og mailen blev sendt hel korrekt

Jeg sender variablerne fra en form

<form name="mail" action="comm_functioner.php" method="get">
<textarea name="v_email_txt" rows="15" cols="80" style="width: 100%"><?=$g_email_txt?></textarea>

    if (isset ($_GET['v_email_txt'])) {
        $v_emne_txt = $_REQUEST['v_emne_txt'];
        $v_email_txt = $_REQUEST['v_email_txt'];
Avatar billede olebole Juniormester
31. december 2011 - 14:19 #5
Prøv at sende med method="post". Der er grænser for, hvor lang en querystreng kan være (og det varierer fra browser til browser). Nu ved vi jo ikke, hvad formen medsender udover selve teksten, men den slags bør under alle omstændigheder sendes som post
Avatar billede olebole Juniormester
31. december 2011 - 14:21 #6
- og så skal du naturligvis spørge på $_POST i stedet for $_GET på serveren. I stedet for $_REQUEST kan du også passende bruge $_POST, så der er styr på, hvor variablerne kommer fra:


    if (isset ($_POST['v_email_txt'])) {
        $v_emne_txt = $_POST['v_emne_txt'];
        $v_email_txt = $_POST['v_email_txt'];
Avatar billede ndifil Nybegynder
31. december 2011 - 16:13 #7
Tak Ole

Det var lige det der skulle til
Avatar billede ndifil Nybegynder
31. december 2011 - 16:16 #8
Det var et forkert valg
Ole svar lige igen så jeg kan give poingt.
Avatar billede olebole Juniormester
31. december 2011 - 16:17 #9
Kanon!  =)

Jeg samler ikke point, så du accepterer bare dit eget svar, så tråden lukkes (og du kan bruge pointene til andre spm.).

Godt Nytår  *o)
Avatar billede ndifil Nybegynder
31. december 2011 - 16:23 #10
Tak og i lige måde.
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