Beste tweakers,
Recent is mijn webhoster overgestapt van PHP 5.3 naar 5.4. Sindsdien werkt het versturen van e-mails via SMTP niet meer. Als framework gebruik ik de meest recente versie van PHPMailer.
Wanneer ik een e-mail probeer te versturen door middel van onderstaande code, krijg ik na lange tijd wachten een Internal Server Error. Helaas heb ik geen directe toegang tot de error logs van de server, en laat de reactie van de webhoster lang op zich wachten.
Na het debuggen kom ik tot de conclusie dat het script vastloopt op onderstaande code in de PHPMailer class.
Op internet kan ik weinig vinden over het retourneren van een Internal Server Error na het uitvoeren van bovenstaande code.
NB: De mailserver lijkt correct te functioneren (na het uitvoeren van een telnet en een test via http://mxtoolbox.com/diagnostic.aspx).
Weet iemand wat de oorzaak kan zijn van deze error?
Recent is mijn webhoster overgestapt van PHP 5.3 naar 5.4. Sindsdien werkt het versturen van e-mails via SMTP niet meer. Als framework gebruik ik de meest recente versie van PHPMailer.
Wanneer ik een e-mail probeer te versturen door middel van onderstaande code, krijg ik na lange tijd wachten een Internal Server Error. Helaas heb ik geen directe toegang tot de error logs van de server, en laat de reactie van de webhoster lang op zich wachten.
code:
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
| <?php $this->IsSMTP(); try { $this->SMTPDebug = 2; $this->SMTPAuth = true; $this->Host = 'serveradres'; $this->Port = 25; $this->Username = 'e-mailadres'; $this->Password = 'wachtwoord'; $this->SetFrom('emailadres', 'Naam'); $this->Subject = 'Test'; $this->MsgHTML($body); $this->AddAddress(trim($emailaddress)); $this->Send(); $this->ClearAddresses(); return true; } catch (phpmailerException $e) { echo $e->errorMessage(); } ?> |
Na het debuggen kom ik tot de conclusie dat het script vastloopt op onderstaande code in de PHPMailer class.
code:
1
2
3
4
5
6
| <?php socket_context = stream_context_create($options); $this->smtp_conn = @stream_socket_client( $host . ":" . $port, 0, '', $timeout, STREAM_CLIENT_CONNECT, $socket_context ); ?> |
Op internet kan ik weinig vinden over het retourneren van een Internal Server Error na het uitvoeren van bovenstaande code.
NB: De mailserver lijkt correct te functioneren (na het uitvoeren van een telnet en een test via http://mxtoolbox.com/diagnostic.aspx).
Weet iemand wat de oorzaak kan zijn van deze error?