[PHP] HTML email doet niets

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008
  • Reageer

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
ik probeer via de volgende code een HTML mail te versturen
de query verloopt goed met gode output echter mailtjes worden niet verstuurd :(
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
<?
include("includes/dbconn.inc");

if(IsSet($checkmail)) { 

$adres_query = mysql_query("SELECT fname, lname, email FROM test") or die ("Mislukt");
WHILE ($data = mysql_fetch_array($adres_query)) {

 error_reporting(63);
 include('class.html.mime.mail.inc');

define('CRLF', "\r\n", TRUE);

$mail = new html_mime_mail(array('X-Mailer: Html Mime Mail Class'));

$text = "Hi $data[lname],$inhoud";

$html = "<HTML>troep</HTML>";

        
$mail->add_html($html, $text, './');

        $mail->build_message();

 

        $mail->send('$data[fname]', '$data[email]', 'PR service', 'service@bla.nl', '$titel');


}

$message  = "Alle berichten zijn verstuurd";

} else {

$message = "form";
}
?>

Ja man


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

zie ook [topic=363487]

je include meerdere malen dezelfde class, dut dat zou per definitie al een error moeten geven... haal die error_reporting() eens weg?

sowieso zou ik het eens zo proberen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
include("includes/dbconn.inc");

if(IsSet($checkmail)) {     
    $adres_query = mysql_query("SELECT fname, lname, email FROM test") or die ("Mislukt");
    include('class.html.mime.mail.inc');
    define('CRLF', "\r\n", TRUE);
    WHILE ($data = mysql_fetch_array($adres_query)) {
        $mail = new html_mime_mail(array('X-Mailer: Html Mime Mail Class'));
        $text = "Hi $data[lname],$inhoud";
        $html = "<HTML>troep</HTML>";        
        $mail->add_html($html, $text, './');
        $mail->build_message();
        $mail->send($data[fname], $data[email], 'PR service', 'service@bla.nl', $titel);
    }    
    $message  = "Alle berichten zijn verstuurd";    
}
else
{    
    $message = "form";
}
?>

er zitten nl. ook wat ' ipv " verkeerd

Klaar voor een nieuwe uitdaging.


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Het probleem zit hem in de mailer denk ik die probeert direct via SMTP te vesturen.

Ik werk echter op NT dus dan hoeft dat toch niet hij pakt dan toch automatosch de smtp uit mn php ini :?

Ja man


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

PHP:
1
2
3
<?
$mail->send('$data[fname]', '$data[email]', 'PR service', 'service@bla.nl', '$titel');
?>

moet zijn
PHP:
1
2
3
<?
$mail->send("$data[fname]", "$data[email]", 'PR service', 'service@bla.nl', "$titel");
?>

of nog netter
PHP:
1
2
3
<?
$mail->send($data[fname], $data[email], 'PR service', 'service@bla.nl', $titel);
?>

met enkele quotes vervangt 'ie de variabelen niet door hun waarden.

[edit]
CHEM was weer eens sneller... En inderdaad je include('class.html.mime.mail.inc'); moet buiten de while staan. Dat geldt ook voor die define. (waar gebruik je die eigenlijk?)

Localhost, sweet localhost


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Hij doet het thnx zat m inderdaad in de while

Ja man


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

Op woensdag 02 januari 2002 10:39 schreef kvdveer het volgende:
PHP:
1
2
3
<?
$mail->send('$data[fname]', '$data[email]', 'PR service', 'service@bla.nl', '$titel');
?>

moet zijn
PHP:
1
2
3
<?
$mail->send("$data[fname]", "$data[email]", 'PR service', 'service@bla.nl', "$titel");
?>

of nog netter
PHP:
1
2
3
<?
$mail->send($data[fname], $data[email], 'PR service', 'service@bla.nl', $titel);
?>

met enkele quotes vervangt 'ie de variabelen niet door hun waarden.
mwah .. imho is dit de juiste manier:
PHP:
1
2
3
<?
$mail->send($data["fname"], $data["email"], 'PR service', 'service@bla.nl', $titel);
?>

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


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Hmmz toch nog niet helemaal goed :(
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
<?
include("includes/dbconn.inc");

if(IsSet($checkmail)) { 

$adres_query = mysql_query("SELECT fname, lname, email FROM test") or die ("Mislukt");
include('class.html.mime.mail.inc');
define('CRLF', "\r\n", TRUE);

WHILE ($data = mysql_fetch_array($adres_query)) {

$mail = new html_mime_mail(array('X-Mailer: Html Mime Mail Class'));

$text = "Hi $data[lname],$inhoud";
    
$tekst = nl2br($inhoud);
$html = "<HTML>bla</HTML>";
        
        

        $mail->add_html($html, $text, './');

        $mail->build_message();

 

        $mail->send($data["fname"], $data["email"], "bla PR service", "pr@bla.com", "$titel");

}

$message  = "Alle berichten zijn verstuurd";

} else {

    $message = "form";
}
?>

Ik krijg de volgende error terug
code:
1
Warning: Server Error in C:\webdev\b2bmailer\class.html.mime.mail.inc on line 457

en die lijn is
code:
1
return mail($to, $subject, $this->output, 'From: '.$from.CRLF.implode(CRLF, $this->headers).CRLF.implode(CRLF, $xtra_headers));

Ja man


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

1. Waarom niem je je includes .inc? Op die manier maak je het hackers wel erg makkelijker (tenzij je inc ook laat parsen)
2. Is die CRLF ergens gedefinieerd? Of heb je gewoon een VB-script als uitgangspunt genomen (In php is dat gewoon "\r\n")

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


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 02 januari 2002 11:15 schreef Janoz het volgende:
1. Waarom niem je je includes .inc? Op die manier maak je het hackers wel erg makkelijker (tenzij je inc ook laat parsen)
En dan update de beheerder opeens de versie van PHP en de .inc wordt opeens niet meer geparsed -> Screwed >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
1. inc wordt geparsed
2. snap ik niet helemaal wat je bedoelt :(
code:
1
define('CRLF', "\r\n", TRUE);

of die bedoel je

die stond onder de include die staat er nu boven maar blijf toch die vage error houden :(

Kan het te maken hebben dat ik op een NT machine werk ?

Ja man


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Hmmmzz

Het zat hem dus in het NT gedeelte errors zijn verdwenen en berichten aan.

Alleen zie ik de source van mn mail in outlook staan bij hotmail komt deze wel goed aan.

Zijn er dingen waar ik rekening mee moet houden verder ?

Ik krijg het als volgt binnen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
X-Mailer: Html Mime Mail Class
Content-Type: multipart/alternative;
boundary="=_feda2fb43b71817a9c04d8c7f6d43542"


--=_feda2fb43b71817a9c04d8c7f6d43542
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Mn plain tekst 

--=_feda2fb43b71817a9c04d8c7f6d43542
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML>
mn HTML troep
</HTML>
--=_feda2fb43b71817a9c04d8c7f6d43542--

Ja man


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Heel vaag probleem dit.

Als ik vanaf mn NT bak mail krijg ik errors maar de output is ok

Als ik vanaf mn LINUX bak mail krijg ik geen errors maar wel foute mail :?

Dit alles met dezelfde code :(

Ja man


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

dusty:
En dan update de beheerder opeens de versie van PHP webserver configuratie en de .inc wordt opeens niet meer geparsed -> Screwed >:)
Lekkere beheerder als hij niet nagaat wat de configuratie was voor de update.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Ik ben nog even doorgegaan en kom toch rare dingen tegen de source van mn mail is als volgt
code:
1
Na het editen van de boundarys wel netjes gekregen het lijkt erop dat de class de boundarys niet netjes zet

Als ik hem direct op mn outlook binnen krijg zie ik gewoon de source (headers etc) haal ik nu van mn hotmail acount de mail binnen naar outlook issie goed :?

Ook valt me op dat hij van die rare blokjes (ascii) er in gooit :) kan het zijn dat mn mail server rommelt met de inhoud ?

Nu begrijp ik er echt geen kont meer van |:(

Ja man


  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

er zit toch geen ranzige exchange server tussen he?

Die verpest namelijk ALLES.

Klaar voor een nieuwe uitdaging.


  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 18:33

BierPul

2 koffie graag

Topicstarter
Ik heb de class gebruikt die je aanrade werkt verder prima alleen die boundaries gaan dus over de zeik in outlook

Nope zit geen exchange server tussen gaat direct via een unix qmail machine naar mij sterker nog zit er naast :P

Ja man

Pagina: 1