PHPMAIL werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel van Seggelen

Daniel van Seggelen

12/05/2019 07:04:44
Quote Anchor link
Ik weet niet waarom ik zoveel ongeluk heb, terwijl ik de instructies volg uit de manual.

Quote:
Fatal error: Uncaught Error: Class 'PHPMailer' not found in /home/admin/domains/domain.nl/private_html/inc/aanmelden_business.php:144 Stack trace: #0 /home/admin/domains/domain.nl/private_html/inc/webshop_registratie.php(11): include() #1 /home/admin/domains/domain.nl/private_html/index.php(101): include('/home/admin/dom...') #2 {main} thrown in /home/admin/domains/domain.nl/private_html/inc/aanmelden_business.php on line 144


met deze includes

require (DOC_ROOT.'inc/PHPMailer/src/PHPMailer.php');
require (DOC_ROOT.'inc/PHPMailer/src/Exception.php');
require (DOC_ROOT.'inc/PHPMailer/src/SMTP.php');

Dan...

$mail = new PHPMailer(); // defaults to using php "mail()"
.. hier gaat het fout.



De paden zijn correct en snap niet waarom het niet duidelijk staat beschreven in de manual.
Ik kom dus niet verder hiermee. Ik wil eigenlijk gewoon een pdf als attachment mailen.

Toevoeging op 12/05/2019 07:33:04:

UPDATE

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$mail = new PHPMailer\PHPMailer\PHPMailer(); // defaults to using php "mail()"
//$body             = file_get_contents($bericht);
//$body             = preg_match("[\]",'',$body);
$mail->AddReplyTo("domain@gmail.com","First Last");
$mail->SetFrom('info@domain.nl');

$mail->AddReplyTo("no-reply@domain.nl","First Last");
$address = "domain@gmail.com";
$mail->AddAddress($address, "John Doe");
$mail->Subject    = "PHPMailer Test Subject via mail(), basic";
//$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->IsHTML(true);
$mail->Body = $bericht;
//$mail->MsgHTML($body);

$mail->AddAttachment(DOC_ROOT."bedrijf_docs/algemene_voorwaarden-test.docx");      // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}


message is nu send, maar komt niet aan zonder foutmeldingen.
 
PHP hulp

PHP hulp

16/07/2019 07:13:37
 
- Ariën -
Beheerder

- Ariën -

12/05/2019 07:48:31
Quote Anchor link
Waarom gebruik je niet de autoloader?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/05/2019 16:28:12
Quote Anchor link
waar komt DOC_ROOT vandaan ?

Mijn advies zou zijn als je gebruik kan maken van de CLI om composer te installeren en dan PHPMailer te installeren met het commando composer require phpmailer/phpmailer zoals in de readme op github beschreven staat.
 
Thomas van den Heuvel

Thomas van den Heuvel

12/05/2019 16:29:36
Quote Anchor link
Quote:
message is nu send, maar komt niet aan zonder foutmeldingen.
Wat betekent dit?

Frank Nietbelangrijk op 12/05/2019 16:28:12:
waar komt DOC_ROOT vandaan ?
En wellicht belangrijker, hoe luidt deze? Heeft deze een trailing slash?

Je zou eens kunnen kijken welke classes geladen zijn na het aanroepen van de requires met get_declared_classes(), en anders klopt het pad (weer?) niet.
Gewijzigd op 12/05/2019 16:43:18 door Thomas van den Heuvel
 
Ozzie PHP

Ozzie PHP

13/05/2019 14:33:51
Quote Anchor link
>> De paden zijn correct en snap niet waarom het niet duidelijk staat beschreven in de manual.

Klaarblijkelijk niet:

Fatal error: Uncaught Error: Class 'PHPMailer' not found

Ofwel, hij kan de class niet vinden. Dan is het niet heel vreemd dat de rest niet werkt.

Wat verschijnt er in beeld als je dit doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

var_dump(DOC_ROOT.'inc/PHPMailer/src/PHPMailer.php');

?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.