[PHP] Mail() -> random character loss?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mr_wizard
  • Registratie: Februari 2003
  • Laatst online: 29-04 21:17
Hey,
ik heb een mailinglist systeem in PHP gemaakt die op zicht perfect functioneert. Het enige probleem wat ik ermee heb is dat hij het volgende doet: hij laat bij tussen de 40-80% van de verstuurde mails 1 character uit de message weg. De message is statisch en de character die word weggelaten is altijd dezelfde bij deze 40-80% groep, maar verschilt wel per mailing (ook 1x de '<' in '</html>' :'( ). Ik denk zelf aan een soort buffer iets, omdat hij naar circa 500 mensen gaat, maar op diezelfde server heb ik het ook gehad met maar 1 mail. De server is een windowsbak van een normale hostingprovider.

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
35
36
37
38
39
  $x = 1;
  $hold = 50;
  $emails = query("SELECT * FROM mail_list WHERE mail_mode='$i'");
  while($sendmail = mysql_fetch_array($emails)){
    $email      = $sendmail["mail_email"];
    $first      = $sendmail["mail_firstname"];
    $last       = $sendmail["mail_lastname"];
    $id         = $sendmail["mail_id"];
    $tmp_gender = $sendmail["mail_gender"];
    if($gender = "m"){$gender = "heer";}
    elseif($gender = "v"){$gender = "mevrouw";}

    $subject  = "een onderwerp";
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: XXXXXXX <info@xxxxxx.nl>\r\n";
    $hash     = md5($email);

    $content =     "<html>
                    <head>
                      <title>Titel</title>
                    </head>
                    <body>
                    Geachte $gender $last,<br>
                    <br>
                    Lalala op $date lalala
                    <br>
                    <br>
                    Om af te melden voor deze melding, klik dan
                    <a href=\"http://www.xxxxx.nl/rem.mail.php?hash=$hash&id=$id\">hier</a>
                    </body>
                    </html>";
    mail($email, $subject, $content, $headers);
    $x++;
    if($x == $hold){
      sleep(3);
      $x = 0;
    }
  }

R&D professional


Acties:
  • 0 Henk 'm!

Verwijderd

het kan schelen als je \n characters opneemt in je code dus zo:

$mailText = "<HTML>\n";
$mailText += "<HEAD>\n";
enz enz

heel bizar maar ik heb hetzelfde probleem gehad en het was daardoor verholpen

Acties:
  • 0 Henk 'm!

  • mr_wizard
  • Registratie: Februari 2003
  • Laatst online: 29-04 21:17
Chill, in ieder geval een oplossing! Ook al vind ik het ook wel wierd dat ie dit doet, thanx voor je post, man!

R&D professional


Acties:
  • 0 Henk 'm!

Verwijderd

het heeft er volgens mij mee te maken dat als je geen newlines toevoegd hij alles als een lange string achter elkaar plakt en hij daardoor de mist in gaat bij het interpreteren van je mailtje.