CSS - index.html emailformulier werkt niet

Status
Niet open voor verdere reacties.
Ik zou als ik jouw was het hele formulier en het afhandelend script in eenzelfde bestand zetten.

En waar komt $joumail en $onderwerp vandaan?
 
Laatst bewerkt:
Zo apart is toch niet erg, het moet alleen mooier. Het contactformulier.php op phphulp is mooi, maar nu begrijp ik niet of ik dit allemaal in het index.html bestand moet zetten ipv mijn eigen contactformulier.

Of te wel, was al blij dat ik ergens gekomen ben ;)
 
Php-scripts horen in een php-bestand en niet in een HTML-bestand.
 
Nee, dat dacht ik al, daarom is in mijn geval beter dat het apart is.
 
Probeer het script eerst eens 'droog' zonder dat je het in je site bouwt. En dus enkel uploaden en testen. Werkt het dan wel?
 
Laatst bewerkt:
Hoi

Net een voorbeeld gemaakt hoe je PHPMailer kan gebruiken.

Download de PHPMailer ZIP (klik) van GitHub en unzip het bestand.
Kopieer de bestanden naar mijn mapje uit de bijlage bij dit bericht (de lege mapjes staan er al).
In mijn index.php vind je jouw contactformulier wat ik heb aangepast. Kopieer dit naar je eigen html.
Wijzig de instellingen in 'mailer.php' + de vormgeving aanpassen (met bijvoorbeeld de template die je gebruikt).

Als je een vraag hebt over wat je waar in moet vullen dan hoor ik het wel.

De instelling $mail->SMTPDebug staat op 2 om te testen. Deze moet je op 0 zetten in de live website.

Suc6. Have fun.
 

Bijlagen

  • contactform.zip
    14,1 KB · Weergaven: 37
Thanx.
Ik ben nu zover dat ik de files heb gekopieerd naar de mapjes.

Ben nu bezig met het mailer.php (het formulier heb ik al naar mijn html gekopieerd)
Ik snap iets niet.

Code:
// Debug: 0=off, 1=commands, 2=commands/data. Zet op 0 in live website!
	$mail->SMTPDebug   = 2;
	$mail->Debugoutput = 'html';

	// Mailserver. SMTPSecure opties zijn 'ssl' of 'tls' (voorkeur).
	$mail->Host       = "mail.provider.nl";
	$mail->SMTPSecure = "tls";
	$mail->Port       = 587;

	// inlog account bij je provider om te versturen
	// gebruik hier een ander emailadres dan bij $mail->addAddress
	$mail->isSMTP();
	$mail->SMTPAuth   = true;
	$mail->Username   = "mailer@provider.nl";
	$mail->Password   = "wachtwoord";

	// AAN emailadres (jouw emailadres). Je mag meerdere regels opgeven
	$mail->addAddress('mijnnaam@provider.nl', 'Mijn Naam');

SMTP wordt niet gebruikt, dus geen inlogcode of wat dan ook. De gene van de website wil dat de mails worden doorgestuurd naar.....(ik heb dus info@......behang....nl aangemaakt en deze laten doorlinken naar zijn gmail.
Om alles te testen gebruik ik even mijn info@ adres.

Verder vraag ik mij af of ik die uitgezipte map contactform moet uploaden of alle files apart.

We komen er wel, ik heb alleen moeite met dit.
 
Laatst bewerkt:
Je kan de inhoud van de map /contactform prima uploaden naar je hosting.
Als jegeen gebruik wilt maken van SMTP dan kan je deze regels gewoon commentariseren:
Code:
/*
Debug: 0=off, 1=commands, 2=commands/data. Zet op 0 in live website!
	$mail->SMTPDebug   = 2;
	$mail->Debugoutput = 'html';

	// Mailserver. SMTPSecure opties zijn 'ssl' of 'tls' (voorkeur).
	$mail->Host       = "mail.provider.nl";
	$mail->SMTPSecure = "tls";
	$mail->Port       = 587;

	// inlog account bij je provider om te versturen
	// gebruik hier een ander emailadres dan bij $mail->addAddress
	$mail->isSMTP();
	$mail->SMTPAuth   = true;
	$mail->Username   = "mailer@provider.nl";
	$mail->Password   = "wachtwoord";
*/
Vanaf dan mailt hij via de server zijn mailprogramma (sendmail) zelf.
 
Laatst bewerkt:
OKé, nog een vraag, in het mapje van Bron staat ook los de mailer.php
Moet die in de map worden gezet ?

De index.php
In mijn index.php vind je jouw contactformulier wat ik heb aangepast. Kopieer dit naar je eigen html.
dat heb ik dus gedaan en hoeft deze file niet te worden geupload.

logo 8.jpg


UPDATE:

Map PHPMailer geupdload.....met alle mappen erin.
mailer.php in de root gezet (bij index.html etc.)

Formulier geeft leeg blad aan wanneer ik op verzenden klik.

ik hou er mee op voor vandaag.
Ik zie het niet meer. (heb ik het wel gezien ....;) )
 
Laatst bewerkt:
mailer.php is gewoon het script die jij gebruikt om te mailen.
Je moet enkel uit de download van phpMailer de inhoud van die /src map ook in Bron zijn /src map plaatsen.
En idem dito ook voor de /language.
 
Zet je foutafhandeling aan, door dit boven je PHP-bestanden te zetten
PHP:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
?>
 
Er is nog een 3e smaak maar gebruik die maar niet.
Code:
// $mail->isSMTP();
$mail->isSendmail();

Over SMTP
Als je kiest voor SMTP dan verzorgt de SMTP mailserver van de provider alles voor je.
Met andere woorden, het is betrouwbaarder, minder kans op spam emails, en je hebt TLS / SSL veiligheid.
Om deze reden gebruik ik altijd SMTP waarvoor ik een verzend-emailadres aanmaak, bijv. contact@example.nl

Het is slim om ook in een Wordpress plugin altijd voor SMTP te kiezen.

Nog een groot voordeel bij SMTP is dat je met $mail->SMTPDebug = 2 het gehele verzendproces kan volgen en je ziet dan precies waar iets niet goed gaat.
 
Het berichtje van php4u schematisch weergegeven waar de bestanden staan
Code:
root
 |
 +--PHPMailer--+--language (zelf bestanden erin zetten)
 |             |
 |             +--src (zelf bestanden erin zetten)
 +--index.php 
 |
 +--mailer.php

De bestanden die je in mapje 'language' en in mapje 'src' moet zetten staan in deze zip (klik). Zonder deze bestanden werkt het niet.

Formulier geeft leeg blad aan wanneer ik op verzenden klik.
Heb je <form> op deze manier in je html?
Code:
<form class="contact-form" method="post" action="mailer.php" enctype="multipart/form-data">

Als je op de verzendknop drukt ga je naar bestand mailer.php
Dit bestand bestaat uit 2 delen:
- php gedeelte om de email te versturen.
- html gedeelte als "bedankje" voor degene die het formulier heeft ingevuld.

Ik zie het niet meer. (heb ik het wel gezien .... )
Je hebt al veel stappen gemaakt. Het gaat nu alleen om wat instellingen in mailer.php (denk ik).
Met frisse geest weer verder?
 
Laatst bewerkt:
De laatste post van Bron geeft duidelijkheid. En inderdaad met frisse geest weer verder, alleen vandaag red ik het niet (andere bezigheden).
Wat ik wel heb ontdekt gisteren nog, is dat Versio, waar ik deze testdomeinnaam en hosting heb, aangeeft dat bij PHPmail je niet een ander email adres lan gebruiken maar dat je die moet gebruiken van de domeinnaam. Of te wel, ik heb NIET een info@wp.....nl aangemaakt maar heb in de forms mijn info@steupunt........nl gebruikt.


Dit dus:
Wilt u mailen via PHP? Dan maakt u waarschijnlijk gebruik van de mail() PHP functie. Op onze webhosting en reseller hosting server is er een restrictie op het gebruik van de mail() functie.
Wat is de restrictie?

Het e-mailadres van de afzender moet zijn aangemaakt in DirectAdmin als e-mailadres. Indien er gebruik gemaakt wordt van een externe maildienst, dan dient daar ook de mailbox te bestaan. Daarnaast dient het e-mailadres van de afzender overeen te komen met het domein vanaf waar de e-mail verstuurd wordt. U kunt dus in de mail() PHP functie niet een e-mail sturen met afzender 'piet@gmail.com'. We raden u aan om te gaan mailen over het 'info@uwdomein.nl' adres.

Om te testen moet ik dus die info@wptest........huppeldepup.nl aanmaken.
Wie weet gaat het daarom allemaal niet zo lekker?
 
Wat is de restrictie?
Het e-mailadres van de afzender moet zijn aangemaakt in DirectAdmin als e-mailadres.
Het mag dus elk emailadres zijn van je eigen domein. Ik adviseer sterk om een ander emailadres aan te maken in DirectAdmin wat je alleen gebruikkt als afzender bij het versturen van email van het contactformulier. Waarom? Anders krijg je de situatie dat het VAN emailadres hetzelfde is als het AAN emailadres en dan wordt email van het contactformulier als spam aangemerkt. Bovendien gaan steeds meer providers ertoe over dat dit soort emails helemaal niet meer worden doorgestuurd en dan ontvang je geen emails meer van het contactformulier.

Instellingen Versio smtp met ssl
Code:
// na het testen op 0 zetten
$mail->SMTPDebug   = 2;
$mail->Debugoutput = 'html';

// Versio smtp server
$mail->Host       = "mail.axc.nl";
$mail->SMTPSecure = "ssl";
$mail->Port       = 465;

// emailadres voor contactformulier aanmaken in DirectAdmin
$mail->isSMTP();
$mail->SMTPAuth   = true;
$mail->Username   = "post@example.nl";
$mail->Password   = "*********";

Om te voorkomen dat je een email niet ontvangt als die rechtstreeks naar post@example.nl wordt gestuurd maak je in DirectAdmin een 'Email Forwarder' van post@example.nl naar info@example.nl dan werkt alles perfect. Op het plaatje zie je hoe de forwarder eruit ziet.

Update: Als de mail() php restrictie ook voor smtp geldt dan kan je het volgende invullen (beide emailadressen moeten verschillen en van jouw domein zijn)
Code:
// VAN emailadres
$mail->setFrom('post@example.nl', 'Contact Website');

// AAN emailadres
$mail->addAddress('info@example.nl', 'Info Example');
 

Bijlagen

  • forward_email.jpg
    forward_email.jpg
    26,6 KB · Weergaven: 48
Laatst bewerkt:
De forwarder en mail aanmaken is geen probleem, dat doe ik al jaren, en heb dat dus ook gedaan.
Alleen ik gaf mijn email adres in waar het uiteindelijk in terecht komt, en ik moet dus die andere doen.

Ik ga het eens bestuderen ;), zie dat de mailer.php bij mij verkeerd staat. Het komt eens goed, dat geloof ik wel hahahahaha!
 
logo 9.jpg

dit is nog steeds wat ik krijg als ik het form invul en op verzenden klik.
Niets dus.

Nu ik het
inlog account bij je provider om te versturen
heb veranderd, blijft de website zoeken als ik het form invul en verzend. Of te wel, hij blijft zoeken.
Wachten, wachten, wachten.....

we zijn er bijna denk ik.

En uiteindelijk na wat veranderd te hebben, krijg ik dit in een nieuw browser tabblad:

logo 10.jpg

Okém, het werkt, maar dit is natuurlijk niet mooi.
Hoe krijg ik dit op dezelfde pagina als het contactform?
Plus, als ik klik op terug naar de website kom ik niet op de website terecht, maar zie ik dit:

logo 11.jpg

Edit: dit is al veranderd, als ik er nu op klik kom ik op de website terecht.

Ben blij met jullie, had ik dat al gezegd??
 
Laatst bewerkt:
Kunnen we het ergens zien?
 
Ja hoor, maar zoals ik eerder schreef, op helpmij mag je geen linken meer plaatsen (die halen ze weg). Dus om het anders te doen had ik al een hint gegeven.
Komt die nog een keertje: wptest123 (en dan nl).
Het is one-page, dus alle 4 de pagina's hebben dezelfde naam in de browser.
Vul het formulier in en je zult het zien.
 
Waarom zou je niet mogen linken? Apart...? Bugje hier?
Anyway, ik ga eens kijken.

Edit:
Je verwijst naar mailer.php, en die heeft blijkbaar geen layout. Ikzelf raad aan om het hele script met zowel formulier als afhandeling in één bestand te hebben.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan