PHP form alles werkt maar geen mail
1) op die webserver ook een mailserver hebben geinstalleerd die toestaat dat vanaf lokaal mails verstuurd kunnen worden, of een open relay hebben (geen van beide aan te bevelen).
2) een ISP hebben die toestaat dat je mails verstuurt zonder in te loggen
3) clients zoals PHPMailer of SwiftMailer gebruiken in je script zodat je via je eigen email account gewoon mail kunt versturen.
Gewijzigd op 23/12/2012 19:13:45 door Tom Reitsema
Dat zijn ongeveer 10 regels ipv 1700!!!!!!!!
Je bent zelf al zo slim geweest ;-)
In ieder geval moet je als je een bepaalde setting wilt doen de ; verwijderen aan het begin van de regel.
De tweede vraag is of je ook die oplichters van Ziggo als ISP hebt, want dan heeft het weinig zin om hun SMTP server als zodanig in te stellen
Toevoeging op 23/12/2012 19:28:58:
zie punt 3, kwestie van downloaden PHPMailer of SwiftMailer
Gewijzigd op 23/12/2012 19:37:29 door Ger van Steenderen
ja oke en hoe stel ik dat php mailer in?
Heb je al de sample bekeken in de download?
ja maar snap er niet veel van
Vertel, wat heb je geprobeerd en waar loop je op vast?
nou ik snap niet precies waar je en wat je met al die bestanden moet doen
De eerste include je in je script, de tweede wordt dan (indien nodig) automatisch ook geladen.
Dan doe je het volgende in je script:
Code (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
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
<?php
$pdffile = $destpath . 'fac_' . $factuurnr . '.pdf';
$mpdf->Output($pdffile, 'F');
//emails aan aanbieder en klant
$klantemail = new PHPMailer();
include 'configs/mailconfig.php';
$klantemail->SMTPDebug = true;
$klantemail->IsSMTP();
$klantemail->SMTPAuth = true;
$klantemail->Host = $mailcfg['host'];
$klantemail->Port = $mailcfg['port'];
$klantemail->Username = $mailcfg['username'];
$klantemail->Password = $mailcfg['pwd'];
$klantemail->IsHTML();
$klantemail->Subject = 'Prettige feestdagen';
$klantemail->From = '[email protected]';
$klantemail->FromName = 'PHPHulp';
$klantemail->AddAddress($_POST['email_klant'], $_POST['voornaam_klant'] . ' ' . $_POST['achternaam_klant']);
$klantemail->Body = 'Wij wensen u prettige feestdagen en een zalige stofwisseling';
$klantemail->AddAttachment($pdffile); //eventueel een bijlage meesturen
if ($klantemail->Send()) {
//bericht is verstuurd
}
else {
//bericht is niet verstuurd, waarom?
echo $klantemail->ErrorInfo;
}
?>
$pdffile = $destpath . 'fac_' . $factuurnr . '.pdf';
$mpdf->Output($pdffile, 'F');
//emails aan aanbieder en klant
$klantemail = new PHPMailer();
include 'configs/mailconfig.php';
$klantemail->SMTPDebug = true;
$klantemail->IsSMTP();
$klantemail->SMTPAuth = true;
$klantemail->Host = $mailcfg['host'];
$klantemail->Port = $mailcfg['port'];
$klantemail->Username = $mailcfg['username'];
$klantemail->Password = $mailcfg['pwd'];
$klantemail->IsHTML();
$klantemail->Subject = 'Prettige feestdagen';
$klantemail->From = '[email protected]';
$klantemail->FromName = 'PHPHulp';
$klantemail->AddAddress($_POST['email_klant'], $_POST['voornaam_klant'] . ' ' . $_POST['achternaam_klant']);
$klantemail->Body = 'Wij wensen u prettige feestdagen en een zalige stofwisseling';
$klantemail->AddAttachment($pdffile); //eventueel een bijlage meesturen
if ($klantemail->Send()) {
//bericht is verstuurd
}
else {
//bericht is niet verstuurd, waarom?
echo $klantemail->ErrorInfo;
}
?>
kan ik dan de oude script verwijderen?
Ja, het mail gedeelte wel offcourse....
en welk gedeelte is dat?
Tom Reitsema op 24/12/2012 20:52:12:
en welk gedeelte is dat?
Sorry, maar als je zo'n vragen gaat stellen denk ik dat NIEMAND je gaat helpen. Kan je überhaupt wel PHP? Lees anders eens een tutorial op phptuts.nl.
Kan je wel PHP, dan moet je eens op Google kijken. Wij zijn geen afhaalchinees waar we al de antwoorden zomaar tegen je zeggen. Je moet je hersenen ook zelf een beetje laten werken.
Veel success