contactmail versturen mbv phpMailer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Laravel PHP developer in een jong team

Bedrijfsomschrijving Als je op zoek bent naar een werkplek waar plezier en uitdaging hand in hand gaan, dan is dit bedrijf de juiste keuze voor jou. Hier kun je werken aan uitdagende projecten en krijg je als developer veel verantwoordelijkheid. Het bedrijf waardeert kwaliteit boven kwantiteit en richt zich op het ontwikkelen van hoogwaardige applicaties en websites waar klanten enthousiast over zijn. Dit bedrijf is vooruitstrevend en streeft naar het leveren van de best mogelijke resultaten voor hun klanten. Als medior PHP ontwikkelaar met 3 jaar ervaring ben jij de persoon die we zoeken. Je krijgt hier de kans om

Bekijk vacature »

.NET Developer

Functie omschrijving Ervaren .NET Developer gezocht! Wij zoeken een ervaren .NET developer die aan de slag gaat voor een softwarebedrijf in de regio Rhenen. In deze rol ben jij zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Daarnaast houdt jij je bezig met de nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en product specialisten om mooie producten te creëren. Bedrijfsprofiel Waar kom je te werken? Je komt te werken voor snelgroeiende softwareleverancier en allround dienstverlener. Klanten van deze

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

C#.NET/Unity Developer

Functieomschrijving Voor een gewaardeerde werkgever in de omgeving van Breda zijn wij op zoek naar een software ontwikkelaar. Dit bedrijf houdt zich bezig met de ontwikkeling van WMS Software (C#/Unity & SQL). Past dit bij jou? Lees snel verder! Jouw werkzaamheden zullen er als volgt uitzien: Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Samen met 6 applicatieontwikkelaars hebben jullie de verantwoordelijkheid voor de uitbreiding en ontwikkeling van de webapplicaties; Het uitvoeren van updates/aanpassingen aan de huidig draaiende applicaties; Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software. Bedrijfsprofiel Wie

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Cloud Engineer

Ben jij een ervaren Cloud Engineer die complexe omgevingen kan overzien en wil je graag in vaste dienst werken bij een professioneel en kleinschalig bedrijf waar je een belangrijke rol kan spelen? Wij, IntelliMagic in Leiden, ontwikkelen specialistische IT monitoring software die we als SaaS oplossing verkopen aan grote bedrijven in Europa en de VS. We zijn een Nederlands bedrijf met een goede sfeer en met grote waardering voor de persoonlijke inbreng en kwaliteiten van onze medewerkers. Wij zoeken een ervaren Cloud Engineer met academisch denkniveau die verantwoordelijk wordt voor het beheer van de cloud infrastructuur voor onze Europese klanten.

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »
Tortuga web

tortuga web

28/10/2019 13:23:03
Quote Anchor link
Hallo,
Ik heb een contactformulier dat ik via PHPMailer verstuur.
Ik heb alle bug-meldingen aan staan. Ik heb ook getest dat het formulier meldt wanneer er iets fout is.
Dus volgens mij, heb ik alles goed staan, en nadat ik SEND heb gedaan, krijg ik de melding dat het formulier succesvol verzonden is. Echter, de mail komt niet aan!!!
Ik heb ook spam en zo gechecked, maar daar ook niks.
Mijn code:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;

    require 'PHPMailer/src/Exception.php';
    require 'PHPMailer/src/PHPMailer.php';
    require 'PHPMailer/src/SMTP.php';
    
    //Set variables
    $firstname = $lastname = $email = $contactmessage = "";
    $err = array();
    $msg = "";
    
    //Make function to test the input data
    function test_input($data) {
        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;
    }

    
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        if (empty($_POST['firstname'])) {
            $err['firstname'] = "Firstname is required";
            //Limit length and strip HTML tags
        } else {
            $firstname = test_input($_POST['firstname']);
            if(!preg_match("/^[a-zA-Z ]*$/",$firstname)) {
                $err['firstname'] = 'Only letters and white space allowed!';
            }
        }

        if (empty($_POST['lastname'])) {
            $err['lastname'] = "Lastname is required";
            //Limit length and strip HTML tags
        } else {
            $lastname = test_input($_POST['lastname']);
            if(!preg_match("/^[a-zA-Z ]*$/",$lastname)) {
                $err['lastname'] = 'Only letters and white space allowed!';
            }
        }

        //Make sure the address they provided is valid before trying to use it
        if (empty($_POST['email'])) {
            $err['email'] = 'Email is required';
        }
else {
            $email = test_input($_POST['email']);
            if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
              $err['email'] = "Invalid email format";
            }
        }

        //Apply some basic validation and filtering to the message
        if (empty($_POST['contactmessage'])) {
            $err['contactmessage'] = 'What is your message';
            //Limit length and strip HTML tags
        } else {
            $contactmessage = test_input($_POST['contactmessage']);
        }

        $name = $firstname.' '.$lastname;
        if (count($err) == 0)  {
            require_once '../../data/data.php';
            $mail = new PHPMailer;
            $mail->isSMTP();
            $mail->SMTPDebug = 4;
            $mail->Host = $host;
            $mail->Port = $port;
            $mail->SMTPSecure = 'ssl';
            $mail->SMTPAuth = true;
            $mail->Username = $user;
            $mail->Password = $pass;
                //It's important not to use the submitter's address as the from address as it's forgery,
                //which will cause your messages to fail SPF checks.
                //Use an address in your own domain as the from address, put the submitter's address in a reply-to

            $mail->setFrom = ($from.', '.$fromName);
            $mail->addReplyTo($email, $name);
            $mail->addAddress = ($addAddress.', '.$addName);
            $mail->Subject = 'Contact request';
            $body = 'Name: '.$firstname.' '.$lastname;
                $body .= '<br>Email: '.$email;
                $body .= '<br>Message: '.$contactmessage;
            $mail->Body = $body;
            $mail->AltBody = $body;
                
            //include_once '../../data/data.php';
            if ($mail->send()) {
                $success = "<p style='margin-left:10%;padding-bottom:2%;width:60%'><strong>Thank you for contacting us.<br>The following message is successfully sent:</strong><br>";
                $success .= $name."<br>".$email."<br>".$contactmessage."</p>";
                
            }
        
            else {
                $fail= 'Mailer Error: ' . $mail->ErrorInfo;
            }
        }
    }

?>
 
PHP hulp

PHP hulp

27/05/2026 11:39:57
 
- Ariën  -
Beheerder

- Ariën -

28/10/2019 13:32:58
Quote Anchor link
Zet de Debug eens op 3.
Wat is de debug-error die je krijgt?
 
Tortuga web

tortuga web

28/10/2019 14:33:41
Quote Anchor link
dat is het hem nou juist, ik krijg helemaal geen error. Ik krijg de melding dat de mail succesvol verstuurd is. Maar aankomen doet ie niet
 
- Ariën  -
Beheerder

- Ariën -

28/10/2019 14:36:08
Quote Anchor link
Dan zou ik het eens bij je SMTP-provider zoeken.
Want als je geen foutmelding krijgt, en dus lijn 93 niet wordt aangeroepen, dan is de mail bij jouw gewoon verstuurd.
Gewijzigd op 28/10/2019 14:36:50 door - Ariën -
 
Tortuga web

tortuga web

28/10/2019 14:39:30
Quote Anchor link
Oké thanks. Zal eens informeren bij de provider
 
Ivo P

Ivo P

28/10/2019 15:45:18
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(!preg_match("/^[a-zA-Z ]*$/",$firstname)) { ?>


Waarom mogen Willem-Alexander en Máxima jou niet mailen?

De "-" staat niet in je lijstje toegestane tekens, net als letters met accenten.
Er is nog wat voor te zeggen om tekens als < te willen vermijden, maar dit is een vrij botte manier.

---
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $mail->setFrom = ($from.', '.$fromName); ?>


Waar komen $from en $fromName vandaan?
Zijn die ingevuld? Als ontvangende mailserver zou dat zo maar een reden kunnen zijn om de mail niet te accepteren.
En als de server van jou dan zelf maar wat invult, is dat ook vast niet wat je wilde hebben.
 
Tortuga web

tortuga web

28/10/2019 16:05:18
Quote Anchor link
Ik blijf altijd weer problemen houden met de preg_match functies, want natuurlijk mogen zij me wel mailen, maar mister<html> niet.
Ik heb uiteindelijk de fout gevonden. Ik heb de data voor user en password in een datafile buiten de domeinroot staan in een datafile. Ik had daar ook de variabele voor de setFrom en de addAddress in staat, maar dat kan kennelijk niet???
Ik heb deze twee nu direct ingevuld in de $mail->setFrom en de $mail->addAddress en nu gaat het wel goed.
Maar ik begrijp niet goed waarom het niet met een variabele werkt.
 
Ivo P

Ivo P

28/10/2019 16:11:37
Quote Anchor link
hoe ver buiten je docroot je mag kijken met php, is in te stellen.
Op shared hosting omgevingen is dat vaak strikter dan je zou willen.

open base dir restriction is mogelijk de fout melding die je kreeg?

En hou ook in de gaten, of je include rekent vanaf het huidige script, of vanuit het door de browser aangeroepen script en dan juist weer niet door een geinclude script.
 
Tortuga web

tortuga web

28/10/2019 16:21:04
Quote Anchor link
Het is duidelijk dat de file wél gelezen wordt, want de gegevens van de user en de password komen uit diezelfde file.
Ik vermoed dat er iets niet goed is in de schrijfwijze van de setFrom gegevens.

In de datafile zet ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$from = '[email protected]';
$fromName = 'Mijn Website';

en in het php script komt dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$mail->setFrom = ($from.', '.$fromName);

Dit heb ik nu dus aangepast naar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$mail->setFrom('[email protected]', 'Mijn Website');

Aangezien in deze laatste geen = voorkomt, vermoed ik dat de wijze van de variabelen invoeren niet juist is. Maar als ik daar het = teken weglaat, krijg ik ook een foutmelding
Gewijzigd op 28/10/2019 16:21:57 door tortuga web
 
Ivo P

Ivo P

28/10/2019 16:49:11
Quote Anchor link
Dat zijn 2 verschillende aanroepen he.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $mail->setFrom = ($from.', '.$fromName);  ?>


hier stuur je 1 parameter naar setFrom: een string die begint met een email-adres en dan een komma en een naam.

In het 2e geval roep je de functie aan met 2 argumenten (beide argumenten gescheiden door een komma, zoals altijd in php)

Aanroep 1 zal mogelijk ook kunnen als je de string opbouwt met <> om het mailadres, maar dat is minder duidelijk

Toevoeging op 28/10/2019 16:50:31:

oh.
zie nu pas het = teken erbij staan:

setFrom is een function.

probeer het eens met

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $mail->setFrom($from, $fromName);  ?>
 
Tortuga web

tortuga web

28/10/2019 16:54:57
Quote Anchor link
Zou het dan zo moeten zijn?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $mail->setFrom ($from, $fromName); ?>


Toevoeging op 28/10/2019 16:55:31:

:) Ja dus
 
Thomas van den Heuvel

Thomas van den Heuvel

28/10/2019 17:09:47
Quote Anchor link
Daar zou je toch een foutmelding over moeten krijgen dan?
Of misschien kun je op die manier klasse-variabelen instellen.
Maar die methode wordt dan dus nooit uitgevoerd.

Maar PHPMailer heeft toch ook wel debug-mogelijkheden? Oftewel, je zou de opgestelde mail toch ook wel inhoudelijk kunnen inspecteren voordat je deze de deur uit stuurt?

Succesvolle verzending is -net zoals bij analoge post- geen enkele garantie voor succesvolle ontvangst, dus helemaal aan het einde controleren of je mail ontvangt is nou niet bepaald een goede of handige test om in te zoomen op eventuele fouten die daarvoor ergens optreden.
Gewijzigd op 28/10/2019 17:10:27 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

28/10/2019 17:12:48
Quote Anchor link
De debug wordt wel aangeroepen, echter alleen als phpMailer een seintje krijgt dat het mailen niet lukt.
Als $mail->send() false teruggeeft, dan moet de debug worden aangeroepen. En als in dit geval blijkt dat er deze true is, dan ligt de oorzaak bij het 'postkantoor' oftewel de provider van de SMTP-server.
Gewijzigd op 28/10/2019 17:13:14 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

28/10/2019 17:32:07
Quote Anchor link
Dat zeg ik dus: inspecteer de mail voordat deze de deur uitgaat. Het gaat blijkbaar niet goed (er komt niets aan) en PHPMailer laat geen alarmbellen afgaan. Dan wordt het tijd om zelf op onderzoek uit te gaan. Als je ziet welke data de deur uitgaat dan heb je toch vrijwel direct een discrepantie tussen welke informatie je aan de mail meegeeft en hoe het mailtje er uiteindelijk inhoudelijk uitziet? En dan arriveer je waarschijnlijk vrijwel direct bij je setFrom() die niet goed gaat.

Dan repareer je dit eerst, het heeft immers geen enkele zin om een situatie waarvan je wéét dat deze fout is (verder) te analyseren.

Los eerst de fout op, en kijk dan of het probleem nog speelt.

Aannames doen over wat er aan de hand is als je niet weet wat er aan de hand is werkt zelden in je voordeel.

Pas als je hebt geconstateerd dat alles correct de deur uit is gegaan kun je de (voorzichtige) conclusie trekken dat er verderop, en buiten jouw applicatie, mogelijk dingen misgaan.

Dit is misschien weer een voorbeeld van "het probleem is niet het probleem", het probleem is hier de aanpak van het oplossen van dit probleem. De sensoren detecteren niets, dan wordt het tijd om je ogen te gebruiken en simpelweg eens wat te debuggen door data te dumpen. Volg gewoon het kruimelpad. Al was het maar om vast te stellen dat je zelf alles goed hebt gedaan (en nu is dus al gebleken dat dit niet zo was).
Gewijzigd op 28/10/2019 17:39:25 door Thomas van den Heuvel
 



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.