contactmail versturen mbv phpMailer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer DataPower Message Queuing Message Broker

Functieomschrijving Wil jij werken in een organisatie waar alleen de beste DataPower developers werken? Deze organisatie heeft één van de grootste en meest complexe omgevingen van Nederland. Wil je verantwoordelijk zijn voor een gateway waar miljoenen externe en interne gebruikers gebruik van maken? Lees dan snel verder! Ontwerpen, bouwen en testen van alle diensten m.b.t. DataPower, MQ, Broker en Cross File Transfer Constant verbeteren van de omgeving Nauw samenwerken met je collega's Functie-eisen Hbo werk- en denk niveau, gelieve in de richting van IT Aantoonbare werkervaring met DataPower of een vergelijkbaar systeem Kennis over IBM MQ en Message Broker is

Bekijk vacature »

.NET Developer C# Junior / Medior Familiebedrijf L

Functieomschrijving Wil jij aan de slag als .NET software ontwikkelaar binnen een groeiende organisatie en je bezig houden met het herstructureren van het platform? Reageer dan snel! Je richt je op het herstructureren van het platform; Softwareontwikkeling middels C# .NET en soms front-end; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Functie-eisen Buiten dat je een enthousiaste ontwikkelaar bent breng je het volgende mee; Je hebt minimaal een afgeronde MBO 4 opleiding; Je hebt kennis van C# .NET; Je weet hoe het is om te werken met

Bekijk vacature »

Fullstack developer / React / Java / CQRS / Zorg

Functieomschrijving Ben jij een Fullstack Developer met ruim 3 jaar ervaring aan zowel de Front-end (React) als aan de Back-end (Java) én lijkt het je leuk om te gaan werken bij een organisatie die rechtmatigheid in de zorg controleert? Wil jij meteen aan de slag met de ontwikkeling van een nieuwe applicatie die de kwaliteit van zorg(verleners) in Nederland inzichtelijk maakt en meedenken over nieuwe innovatieve oplossingen waarbij security hoog in het vaandel staat? Lees dan nu verder! Je werkzaamheden zullen onder andere bestaan uit: het ontwerpen en bouwen van diverse applicaties in de zorg (50% Front-end met o.a. React,

Bekijk vacature »

C# developer gezocht, hardware component, inhouse,

Ben je een C# developer en zoek je een baan in Rotterdam waar je systemen ontwikkeld die communiceren met hardware? Bij een klein bedrijf met korte lijnen, een open cultuur en veel vrijheid? Wellicht dat dit dan iets voor je is. Voor een klant in Rotterdam zijn we op zoek naar een ervaren C# developer. Het gaat hier om een bedrijf dat gericht is om voor overheden en ondernemingen informatie vanuit bepaalde meetsystemen te verwerken en te presenteren. Zo is bijvoorbeeld een van de projecten waar je als ontwikkelaar aan gaat werken; het bouwen van een website waar gebruikers informatie

Bekijk vacature »

Senior Backend developer (Scala/Python)

Wij zijn op zoek naar een senior Backend developer met een affiniteit met security om de bestaande backend software te implementeren en uit te breiden. Tachyonic Solutions is een lean organisatie die zich richt op het leveren van software en hostingoplossingen voor hoge beveiligingsdoeleinden (Private Cloud) en communicatie software. Derhalve zoeken wij ook iemand die het fijn vindt om in een klein team zelfstandig te werken en die bereid is om veel eigen verantwoordelijkheid op zich te nemen. Je moet dan ook aantoonbare ervaring hebben zodat we je die vrijheid kunnen geven. Werkzaamheden: -het uitbreiden van bestaande softwareoplossingen -het in

Bekijk vacature »

.NET Developer / C# / Financiele sector

Functieomschrijving Ga jij aan de slag als .NET Developer bij een van de grotere spelers binnen de financiele dienstverlening? Wil jij graag werken met onder andere C#, SQL, MVC, en WCF binnen een grote organisatie om de applicaties binnen de organisatie verder te ontwikkelen en te onderhouden? Lees dan verder! De ontwikkeling, uitbreiding en onderhouden van applicaties binnen de organisatie; Waarborgen van de veiligheid en consistentie van de applicaties; Zorgen dat de eindgebruiker de applicaties effectief kunnen gebruiken; Documenteren van de systemen, op zowel gebruikers niveau, als technisch niveau; Het adviseren van de directie over technische kwesties. Functie-eisen Minimaal HBO

Bekijk vacature »

Java developer medior

Functie­omschrijving ''Bij de Belastingdienst werken we in de Java-ontwikkelstraat met diverse frameworks en tools, zoals Maven, Wicket of Angular, Eclipse of IntelliJ. En of het nu gaat om het fixen van een bug of het maken van een nieuwe applicatie: ik leer veel en zit eigenlijk de hele dag te puzzelen. Alle Java-ontwikkelaars werken intensief samen in scrumteams, waarvan ook de product owner deel uitmaakt. Dit doen we lang niet altijd alleen op kantoor. De Belastingdienst is flexibel en geeft je de ruimte om je werk te doen waar en wanneer jij dat wilt.'' Atsje Gercama - Medior Java-developer bij

Bekijk vacature »

.NET developer / C# / MySQL Database

.NET developer / C# / MySQL Database regio Doetinchem Functieomschrijving Ben jij een .NET ontwikkelaar die aan de slag wil gaan als .NET developer, maar ook veel te maken wil hebben met de klant? Dan ben je bij deze innovatieve, vooruitstrevende en internationaal georiënteerde organisatie in de regio Doetinchem aan het juiste adres. Je krijgt hier de mogenlijkheid om een creatief team versterken. Spreekt dit je aan reageer dan snel op deze volgende stap in jouw carriere! Jouw meest voorkomende werkzaamheden zijn: Het vertalen van wensen vanuit de business naar .NET oplossingen. Dit betekent dat je of bestaande modules gaat

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »

senior Java ontwikkelaar

Functie­omschrijving Introductie Als senior Java developer werk je aan de ontwikkeling van nieuwe software en onderhoud aan bestaande applicaties en systemen. Jij werkt met de nieuwste frameworks, op basis van het continuous delivery gedachtegoed. Vanuit jouw kennis en ervaring weet jij bij te dragen aan de digitale ambitie van KVK: het leven van ondernemers makkelijker maken met betekenisvolle informatie, toegang tot het Handelsregister, onze data, kennis en netwerken. Denk daarbij aan mooie uitdagingen zoals het volledig digitaal inschrijven mogelijk maken en het ontwikkelen van meerdere registers. Samen met ondernemers, steden en rijksoverheid initiëren we creatieve projecten waarmee we ondernemend Nederland

Bekijk vacature »

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

PHP Developer Symfony Uiteenlopende projecten

PHP Ontwikkelaar Functieomschrijving Heb jij een aantal jaren werkervaring als PHP Developer en wil jij aan de slag met Symfony, MongoDB en Azure? Wil jij werken aan een belangrijke applicatie in de woningsector die dagelijks door ruim 5000 mensen dagelijks wordt gebruikt? Is programmeren een van jouw grootste hobby's? Lees dan snel verder! Jouw taken als PHP Developer zullen bestaan uit: Het creëren van nieuwe features en het doorontwikkelen van zeer omvangrijke applicaties (met o.a. Symfony); Het meewerken aan uiteenlopende technische projecten; Meedenken over nieuwe tools en technieken om de IT naar een nog hoger niveau te tillen. Functie-eisen De

Bekijk vacature »

Senior Backend developer (Scala/Python)

Wij zijn op zoek naar een senior Backend developer met een affiniteit met security om de bestaande backend software te implementeren en uit te breiden. Tachyonic Solutions is een lean organisatie die zich richt op het leveren van software en hostingoplossingen voor hoge beveiligingsdoeleinden (Private Cloud) en communicatie software. Derhalve zoeken wij ook iemand die het fijn vindt om in een klein team zelfstandig te werken en die bereid is om veel eigen verantwoordelijkheid op zich te nemen. Je moet dan ook aantoonbare ervaring hebben zodat we je die vrijheid kunnen geven. Werkzaamheden: -het uitbreiden van bestaande softwareoplossingen -het in

Bekijk vacature »

Ruby Developer gezocht voor bedrijf dat Ruby ademt

Functieomschrijving Binnen deze rol zal je als RoR ontwikkelaar voornamelijk aan de Backend werken, maar af en toe zul je ook Frontend werkzaamheden verrichten met Javasript, React, HTML en CSS. Je zal samen met je collega ontwikkelaars verantwoordelijk zijn voor het doorontwikkelen van de bestaande producten en het van scratch af aan bouwen van nieuwe functionaliteiten. Je zal in je werk veel in contact staan met collega's van verschillende afdelingen, maar ook klantcontact zal tot je takenpakket gaan behoren. Dit in combinatie met jouw uitstekende technische (Ruby) skills zal ervoor zorgen dat je altijd een eindresultaat oplevert waar de eindgebruiker

Bekijk vacature »

Deventer zoekt PHP Developer!

Functieomschrijving In een team van developers werk je aan maatwertk gebruiksgerichte software. De taal die hier het meest gebruikt wordt is PHP en JavaScript. Op de Frontend werken ze met Vue.js en op de Backend middels Laravel, enige kennis hiervan of van een ander framework is zeker een grote pré. Belangrijk is wel dat je al wel fulltime werkervaring hebt opgedaan met PHP. Je krijgt hier de mogelijkheid om jezelf verder te ontwikkelen als developer in een team van ervaren collega's die je graag verder helpen en ondersteunen. Er wordt hier zeker gekeken naar persoonlijke ontwikkeling en zo krijg je

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

11/08/2020 09:41:03
 
- 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 = 'info@mywebsite.eu';
$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('info@mywebsite.eu', '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.