Beste mensen,

Wellicht is dit al eens voorbij gekomen, maar kon niets vinden wat specifiek met dit probleem te maken heeft:

Ik vertel even in het kort mijn stappen zoals tot nu gevolgd:

-zipfile gedownload op
-Bestanden uit de zipfile uitgepakt in map phpmailer (op server)
-php bestand aangemaakt als: mailer.php (zie onderstaande code)
-smtp configuratie aangepast in mail.php (gebruik smtp server: smtp.kpnmail.nl (zie voorbeeldcode hieronder)
-Bestand mail.php op server gezet.

Bij het aanroepen via de browser (www.mijnwebsite.nl/mail.php) verschijnt foutmelding:

Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

wat heb ik al geprobeerd:
-gebruik te maken van andere smtp server (gmail)
-verschillende poortnummers gebruikt (464 / 25)
-documentatie nagezien volgens de link uit de foutnmelding:

Ondanks dit blijft dezelfde foutmelding bestaan. Ik begrijp eruit dat het bestand mail.php geen connectie kan krijgen met de smtp server. echter kan ik niets ontdekken waaraan dit ligt. Wie kan wat advies geven?

mailer.php
<?
require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 1; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.kpnmail.nl'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '[email protected]'; // SMTP username
$mail->Password = 'secret'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->setFrom('[email protected]', 'Ho');
$mail->addAddress('[email protected]', 'test'); // Add a recipient
$mail->addAddress('[email protected]'); // Name is optional
$mail->addReplyTo('[email protected]', 'Information');
$mail->addCC('[email protected]');
$mail->addBCC('[email protected]');

$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>
Met phpmailer kan prima een bijlage verstuurd worden. Je hebt dat toch al in je scripts staan?
Ik vraag me overigens wel af of je bij een hoster /var/tmp en /tmp kan benaderen??

[size=xsmall]Toevoeging op 26/09/2016 22:55:41:[/size]

Aad B op 26/09/2016 22:51:39

Met phpmailer kan prima een bijlage verstuurd worden. Je hebt dat toch al in je scripts staan?
Ik vraag me overigens wel af of je bij een hoster /var/tmp en /tmp kan benaderen??
1. Je kan inderdaad niet bij de directory /tmp en /var
2. Gebruik gewoon de sendmail van je hoster, laat dat smtp gedoe weg.

>> Connection refused (111)

Volgens mij is er inderdaad een blokkade.
die paden moet ik nog wat aanpassen. Heb een form gemaakt met een upload systeem welke ik ophaal uit

$_FILES['bestand']['name'];

en vervolgens moet ik volgens mij het pad naar het te versturen bestand (in dit geval de upload) neerzetten op de regel waar nu staat:

$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments

Zit ik dan goed? of is dit te simpel bedacht? (probeer wat te stoeien met dit soort dingen)
Nee want als je een bestand upload dan krijgt dit bestand een random naam. Deze naam kun je alleen achterhalen door de superglobal $_FILES uit te lezen.

Probeer maar eens
<?php
echo '<pre>' . print_r($_FILES, true) . '</pre>';
?>

een aardige tut over file uploads: http://www.tizag.com/phpT/fileupload.php

Reageren