Contactformulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

Software developer

Werkzaamheden voor jou als software developer Voor een goede relatie in de regio Zwolle (meerdere locaties) zoeken wij een software developer die betrokken is bij de ontwikkelcyclus en verantwoordelijk is voor het testen en keuren van nieuwe en geoptimaliseerde software. In deze functie ben je in de implementatiefase de persoon die risico's beoordeelt en intern oplossingen aanbrengt om risico's te verkleinen. Binnen het ontwikkelteam van de software ben je een belangrijke schakel waar je intensief meewerkt met scrum. Het voorkomen van bugs in de programma's en het bevorderen van gebruiksvriendelijkheid voor eindklanten zijn voor jou een uitdaging en geeft voldoening

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

PHP Developer

Functieomschrijving Wij zijn op zoek naar een PHP Developer met Laravel ervaring! Voor een groeiende werkgever in regio Breda zijn wij op zoek naar een medior PHP developer met Laravel ervaring. Je gaat aan de slag met het ontwikkelen van maatwerk software voor klanten in een specifieke markt. Als PHP developer ben je samen met een gemotiveerd team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het innoveren van informatiesystemen voor klanten in een specifieke branche. Als software developer ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Om

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Junior Outsystems developer

Functie Als junior Outsystems developer wordt jij onderdeel van een multidisciplinair team van 23 software engineers. Ons team werkt agile en termen als Continuous Integration en Continuous Delivery zijn bij ons dagelijkse koek. Wij werken aan uitdagende en afwisselende projecten met als doel onze klanten een totaal oplossing aan te bieden. Als junior Outsystems developer krijg jij bij ons de kans om jezelf te ontwikkelen naar een volwaardige ervaren en gecertificeerde Outsystems developer. Jij een team met ervaren mensen (10+ ervaring) om je heen. Zo heb jij niet het gevoel dat jij meteen in het diepe wordt gegooid en uiteraard

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

Teamlead PHP Developer

Functieomschrijving Voor een gewaardeerde werkgever in de buurt van Middelburg zijn wij op zoek naar een gemotiveerde teamlead PHP developer met affiniteit met Symfony/Laravel. Een enthousiast persoon die het ontwikkelteam komt versterken met het aanpakken van uitdagende projecten. Ben jij op zoek naar een uitdaging waar je de tijd en ruimte krijgt jezelf te ontwikkelen en je eigen IT-team aan te sturen? Lees dan snel verder! Die ga je doen: Bijdragen aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de PHP based applicaties; Ontwikkeling en beheer van de serviceportal in Symfony en de webshops in de tweede versie van

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »
Tom C

Tom C

24/05/2009 23:21:00
Quote Anchor link
Hallo allemaal,

Ik heb ooit een website gebouwd, met daarop een contactformulier, die verzond met de mail() functie..

Dit bleek nogal een gezeur, het werkte vaak niet goed, en als de mail aankwam, die kwam die meestal bij de ongewenste post terecht.

Toen is me hier toentertijd aangeraden om iets van PHPmailer of Swiftmail (weet niet eens of dat bestaat, misschien herinner ik me het verkeerd) te gebruiken, i.p.v. de mail() functie..

Dit keer zou ik wel graag een goed werkend contactformulier maken..
Zou iemand mij in de goede richting kunnen duwen qua verzending van de mail? De rest van het script heb ik al..

Het oude script zag er zo uit:

contact.php
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

ob_start();
session_start();

// Config Gedeelte
$cfg['url'] = "invullen";// Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$cfg['naam'] = "invullen";                // Webmaster naam
$cfg['email'] = "invullen";        // Webmaster E-mail
$cfg['spam'] = 5;                        // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$cfg['text'] = TRUE;                    // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE;                    // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['HTML'] = TRUE;                    // Een HTML email ( TRUE voor aan, FALSE voor uit )
$cfg['CAPTCHA'] = TRUE;                    // CAPTCHA ( TRUE voor aan, FALSE voor uit )


// Hieronder niks meer veranderen
// E-mail Checker / Validator

function checkmail($email)
{

    if(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$", $email))
    {

        return TRUE;
    }

    return FALSE;
}


$formulier = TRUE;

if(!isset($_COOKIE['formulier']))
{

    if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {

        foreach($_POST as $key => $value)
        {

            unset($value);
        }

        header("Location: ".$_SERVER['PHP_SELF']."");
    }

        
    if(isset($_POST['verzenden']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {

        $aFout = array();
        
        $naam = trim($_POST['naam']);
        $email = trim($_POST['email']);
        $onderwerp = trim($_POST['onderwerp']);
        $bericht = trim($_POST['bericht']);
        
        if($cfg['CAPTCHA'])
        {

            $code = $_POST['code'];
        }

                
        if(empty($naam) || (strlen($naam) < 3) || eregi("[<>]", $naam) )
        {

            $aFout[] = "Er is geen naam ingevuld.";
            unset($naam);
            $fout['text']['naam'] = TRUE;
            $fout['input']['naam'] = TRUE;
        }

        if(empty($email))
        {

            $aFout[] = "Er is geen e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))
        //elseif(checkmail($email) == 0)
        // Wanneer je PHP 5.2 > gebruikt
        //elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))

        {
            $aFout[] = "Er is geen correct e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        if(empty($onderwerp))
        {

            $aFout[] = "Er is geen onderwerp ingevuld.";
            unset($onderwerp);
            $fout['text']['onderwerp'] = TRUE;
            $fout['input']['onderwerp'] = TRUE;
        }

        if(empty($bericht))
        {

            $aFout[] = "Er is geen bericht ingevuld.";
            unset($bericht);
            $fout['text']['bericht'] = TRUE;
            $fout['input']['bericht'] = TRUE;
        }

        if($cfg['CAPTCHA'])
        {

            if(strtoupper($code) != $_SESSION['captcha_code'])
            {

                $aFout[] = "Er is geen correcte code ingevuld.";
                $fout['text']['code'] = TRUE;
                $fout['input']['code'] = TRUE;
            }
        }

        if(!$cfg['text'])
        {

            unset($fout['text']);
        }

        if(!$cfg['input'])
        {

            unset($fout['input']);
        }

        if(!empty( $aFout ))
        {

            $errors = '
            <div id="errors">
            <ul>'
;
            foreach($aFout as $sFout)
            {

                $errors .= "    <li>".$sFout."</li>\n";
            }

            $errors .= "</ul>
            </div>"
;
        }

        else
        {
            $formulier = FALSE;
            
            
            if($cfg['HTML'])
            {

            //Headers
            $headers = "From: $email\r\n";
            $headers .= "Return-Path: $email\r\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        
      
                $bericht = '
                <html>
                <head>
        <title>
        </title>
                </head>
            
                <body>
        <font face="calibri, arial">
                <br />
                <b>Naam:</b> '
.$naam.'<br />
                <b>Email:</b> <a href=\"mailto:'
.$email.'\">'.$email.'</a><br />
                <b>Onderwerp:</b> '
.$onderwerp.'<br />
                <b>Bericht:</b><br />
                '
.$bericht.'
                <br />
                <br />
                <br />
                --------------------------------------------------------------------------<br />
                <b>Datum:</b> '
.date("d-m-Y @ H:i:s").'<br />
                <b>IP:</b> <a href=\"http://sunny.nic.com/cgi-bin/whois?domain='
.$_SERVER['REMOTE_ADDR'].'\">'.$_SERVER['REMOTE_ADDR'].'</a><br />
                <b>Host:</b> '
.gethostbyaddr($_SERVER['REMOTE_ADDR']).'<br />
                </font>
        </body>
                </html>'
;
            }

            else
            {
                $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
            //Headers
            $headers = 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-Transfer-Encoding: 8bit' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $headers .= 'From: Contact Formulier <' . $cfg['email'] . ">\r\n";
            $headers .= 'Reply-To: ' . $naam . ' <' . $email . ">\r\n";
            $headers .= 'Return-Path: Mail-Error <' . $cfg['email'] . ">\r\n";
        $headers .= "X-MSMail-Priority: Normal\r\n";
        $headers .= "X-Mailer: PHP/" . phpversion() . "\r\n";
            
                // Bericht
                $message = "Naam: ".$naam."        \n";
                $message .= "E-mail: ".$email."     \n";
                $message .= "Bericht:\n".$bericht_wrap."     \n ";
                $message .= "               \n ";
                $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
                $message .= "------------------------------------------------------- \n ";
                $message .= "IP: ".$_SERVER['REMOTE_ADDR']."                    \n ";
                $message .= "Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."                \n ";
            
            }

        
           if(mail($cfg['email'], "[Contact] ".$onderwerp, $bericht, $headers))  
            {

                if(isset($_POST['stuurkopie']))
                {

                    $headers = "From: \"Contact Formulier\" <".$email.">\r\n";
                    $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
                    $headers .= "Return-Path: Mail-Error <".$email.">\n";
                    $headers .= "MIME-Version: 1.0\n";
                    $headers .= "Content-Transfer-Encoding: 8bit\n";
                    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    
                    mail($email, "[Contact] ".$onderwerp, $bericht, $headers);
                
                }

                
                unset($naam, $email, $onderwerp, $bericht);
                setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
        
                echo "
                <body bgcolor='#D8DDED'><p><font face='calibri, arial' color='#4467C7'>
                Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br /><br />
                U wordt nu doorgestuurd naar de homepagina.<br /><br />
                Met vriendelijke groeten,<br />
                <b>"
.$cfg['naam']."</b>
                </font></p></body>
                "
;    
            }

            else
            {
                echo "Er is een fout opgetreden bij het verzenden van de email";
            }

            header("refresh:7;url=".$cfg['url']."");
        }
    }

    if($formulier)
    {

    ?>

<html>
<head>
<link href="contact.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="nl" />
</head>
    
<body bgcolor="#D8DDED">
<p>Welkom op de contactpagina!
Als u vragen en/of opmerkingen heeft, kunt u het ons via dit formulier laten weten.
Vul alle velden in en klik op verzenden.</p>

<p><b>Let op:</b> U bent ook verplicht om de code in te vullen die weergegeven wordt.
Dit is voor uw veiligheid. Als u deze code niet (correct) invult, wordt de mail niet verzonden.</p>


<div id="form">  
    <?php
    if(isset($errors)) {
        echo $errors;
    }

    ?>

    

        <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
        <p>
        <label <?php if(isset($fout['text']['naam'])) { echo 'class="fout"'; } ?>>Naam:</label>
        <input type="text" id="naam" name="naam" maxlength="30" <?php if(isset($fout['input']['naam'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($naam)) { echo stripslashes($naam); } ?>" /><br />
        
        <label <?php if(isset($fout['text']['email'])) { echo 'class="fout"'; } ?>>Email:</label>
        <input type="text" id="email" name="email" maxlength="255" <?php if(isset($fout['input']['email'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($email)) { echo stripslashes($email); } ?>" /><br />
        
        <label <?php if(isset($fout['text']['onderwerp'])) { echo 'class="fout"'; } ?>>Onderwerp:</label>
        <input type="text" id="onderwerp" name="onderwerp" maxlength="40" <?php if(isset($fout['input']['onderwerp'])) { echo 'class="fout'; } ?> value="<?php if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" /><br />
        
        <label <?php if(isset($fout['text']['bericht'])) { echo 'class="fout"'; } ?>>Bericht:</label>
        <textarea id="bericht" name="bericht" <?php if(isset($fout['input']['bericht'])) { echo 'class="fout"'; } ?> cols="35" rows="6"><?php if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea><br />

        <?php
        if($cfg['CAPTCHA'])
        {

        ?>

                      
        <label <?php if(isset($fout['text']['code'])) { echo 'class="fout"'; } ?>>Code:</label>
        <img src="captcha/captcha.php" align="top" alt="" />
    <input type="text" id="code" name="code" maxlength="4" size="4"<?php if(isset($fout['input']['code'])) { echo 'class="captcha fout"'; } ?> /><br />
    <?php
        }
        ?>

        <label>&nbsp;</label>
        <input type="submit" id="verzenden" name="verzenden" value="Verzenden" />&nbsp;
        <input type="reset" id="wis" name="wis" value="Wis velden" />
    </p>
        </form>

    
</div>
        
</body>  
</html>
    <?php
    }
}

else
{
    echo "
    <p>
    U kunt maar eens in de "
.$cfg['spam']." minuten een e-mail versturen!<br />
    U wordt nu automatisch doorgestuurd.
    </p>"
;
    header("refresh:7;url=".$cfg['url']."");
}

?>


Alvast bedankt!
 
PHP hulp

PHP hulp

28/11/2024 02:31:51
 
Steven Hack

Steven Hack

24/05/2009 23:28:00
Quote Anchor link
Bij mij werkt het prima, ik heb het als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
            $headers
= "From: Voornaam Achternaam <[email protected]>\r\n";
            $headers .= "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
            $headers .= "Reply-To: ".$fname." ".$lname." <".$email.">\r\n";
            $message = "Someone tried to contact you! ";
            if (@mail($mail,$subject,$message,$headers)) {
                De mail is goed verstuurd
            }
            else {
                De mail is niet goed verstuurd
            }
?>
 
Tom C

Tom C

24/05/2009 23:34:00
Quote Anchor link
Nouja ik wil toch graag de mening horen van nog wat andere mensen, m.b.t. mijn script (wat ik van phphulp.nl heb), en die PHPMailer ofzo..

Toch bedankt!
 
- SanThe -

- SanThe -

25/05/2009 00:01:00
Quote Anchor link
En wat is nou de vraag?

Swiftmailer.
 
Tom C

Tom C

25/05/2009 00:07:00
Quote Anchor link
Heb even gekeken naar Swiftmailer..

De vraag is nu:
Hoe gebruik ik Swiftmailer in bovenstaand script?
Of moet ik nu een volledig nieuw script maken..

Ik lees nu namelijk dit in de Swiftmailer documentatie:

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
<?php

require_once 'lib/swift_required.php';

//Create the message
$message = Swift_Message::newInstance()

  //Give the message a subject
  ->setSubject('Your subject')

  //Set the From address with an associative array
  ->setFrom(array('[email protected]' => 'John Doe'))

  //Set the To addresses with an associative array
  ->setTo(array('[email protected]', '[email protected]' => 'A name'))

  //Give it a body
  ->setBody('Here is the message itself')

  //And optionally an alternative body
  ->addPart('<q>Here is the message itself</q>', 'text/html')

  //Optionally add any attachments
  ->attach(Swift_Attachment::fromPath('my-document.pdf'))
  ;

?>


Zit ik op de goede weg?

edit:
Volgens mij niet, want ik wil een contactformulier maken.. Geen apart bericht..
Gewijzigd op 01/01/1970 01:00:00 door Tom C
 
- SanThe -

- SanThe -

25/05/2009 00:12:00
Quote Anchor link
Ik ken Swiftmailer niet.
Lees gewoon inderdaad goed de documentatie door.
 
Tom C

Tom C

25/05/2009 00:13:00
Quote Anchor link
Wat gebruik je dan zelf?

Want ik vind Swiftmailer toch iets te 'advanced' voor mij. Zelfs nu ik de documentatie lees. Ik heb totaal geen idee hoe ik dit in mijn script wil verwerken..
 
- SanThe -

- SanThe -

25/05/2009 00:38:00
Quote Anchor link
Ik gebruik zelf heel af en toe mail(). Voornamelijk om te testen.
 
Steven Hack

Steven Hack

25/05/2009 01:31:00
Quote Anchor link
Wat is er mis met de mijne?
Hij werkt prima en er komt niet in spam.

Je moet zorgen dat je de juiste headers meestuurt, dat is zeer belangerijk. Google anders eens op "php mail headers" of iets dergelijks.

Overigens is het way too much code.
Probeer zoiezo al je functies en config te includen, dat scheelt al een stuk. En voor de rest zou ik zeggen, houd het kort maar krachtig.

Maakt het je ook makkelijker om fouten te vinden eventueel.
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack
 
Willem Jan Z

Willem Jan Z

25/05/2009 07:17:00
Quote Anchor link
Behalve dat hij er niks aan heeft? Het zijn alleen de headers? En precies dezelfde die jij hebt zelfs.
Dat die van jou niet in de spam komt kan met 100 andere redenen te maken hebben.
 
Tom C

Tom C

25/05/2009 18:01:00
Quote Anchor link
Ik ben nu iets verder met Swift Mail.
Ik had het volgende script gevonden:

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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $aErrors = array();
    $_SESSION['errors'] = array();
    
    $aFormuliervelden = array (
        'naam',
        'email',
        'bericht'
    );
    
    foreach($aFormuliervelden as $sVeld)
    {

        if(isset($_POST[$sVeld]))
        {
    
            $sValue = trim($_POST[$sVeld]);
            if(empty($sValue))
            {

                $aErrors[] = 'Je bent vergeten om '.$sVeld.' in te vullen';
                $_SESSION['errors'][$sVeld] = true;
            }

            elseif($sVeld == 'email')
            {

                if(!filter_var($sValue, FILTER_VALIDATE_EMAIL))
                {

                    $aErrors[] = 'Je hebt geen geldig email adres ingevuld!';
                    $_SESSION['errors'][$sVeld] = true;
                }
            }

            $_SESSION['input'][$sVeld] = $sValue;
        }

        else
        {
            $aErrors[] = 'Er ontbreekt een gegeven';
        }
    }

    
    if(empty($aErrors))
    {
    
        try
        {    
           require_once '../lib/swift_required.php';
           require_once $_SERVER['DOCUMENT_ROOT']."/lib/classes/Swift.php";
           require_once $_SERVER['DOCUMENT_ROOT']."/lib/classes/Swift/SmtpTransport.php";
            
            /* De SMTP server die gebruikt wordt om de mail te verzenden, vul hier je eigen server in! */
            $oSmtp = new Swift_Connection_SMTP('smtp.mijndomein.nl', 26);
            
            /* Eventuele logingegevens voor de server kun je hieronder kwijt: */
            $oSmtp->setUsername('*****');
            $oSmtp->setPassword('******');
            
            $oSwift = new Swift($oSmtp);
            
            // Verander hier het emailadres van de ontvanger
            $oTo = new Swift_Address('[email protected]');
            $oFrom = new Swift_Address($_SESSION['input']['email'], $_SESSION['input']['naam']);
            
            $sSubject = 'Contactbericht van '.$_SESSION['input']['naam'];
            $sMessage = '<html>
                            <head>
                                <style type="text/css">
                                    body { font-family: "Verdana"; }
                                    h1 { font-size: 14px; }
                                    p { font-size: 11px; }
                                </style>
                            </head>
                            
                            <body>
                                <h1>Contactbericht</h1>
                                <p>Afzender: '
.htmlentities($_SESSION['input']['naam']).'</p>
                                <p>'
.htmlentities($_SESSION['input']['bericht']).'</p>
                            </body>
                        </html>'
;
            
            $oMessage = new Swift_Message($sSubject, $sMessage, 'text/html');
            
            /**
            * In het voorbeeld is het verzenden uitgeschakeld!
            * Uncomment de regels hieronder om het verzenden te activeren.
            **/

            $oSwift->send($oMessage, $oTo, $oFrom);
            $aContent[] = 'Je bericht is succesvol verzonden!';
            
            //$aContent[] = 'In dit voorbeeld wordt geen mail verzonden. In principe zou dat nu wel succesvol gelukt zijn!';
            $_SESSION['input'] = array();
        }

        catch(Swift_ConnectionException $e)
        {

            $aErrors[] = 'Er is een fout opgetreden bij het verzenden van het bericht, probeer het later nog eens.';
            //$aErrors[] = 'Deze fout is wellicht opgetreden omdat dit een voorbeeld is...';
        }
    }        
}
        
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Jorendewit.nl - PHP Scripts - Contactformulier met Swift Mailer</title>
    
    <link rel="stylesheet" href="../styles/default.css" type="text/css" media="screen" />
    
    <style type="text/css">        
        input.error, textarea.error {
            border: 2px solid #FF0000;
        }
    </style>
</head>

<body>
    <div id="wrap">
        <p class="none small align-right"><a href="/view/38/">&lt;-- Terug naar Scripts</a></p>
        <h1>Contactformulier met Swift Mailer</h1>
        
        <div id="info">
            <p>PHP versie: &gt;= 5</p>
        </div>
        
        <?php
        // Weergeven van meldingen uit het PHP script.
        if(!empty($aErrors))
        {

            echo '<ul>';
            foreach($aErrors as $sError)
            {

                echo '<li>'.$sError.'</li>';
            }

            echo '</ul>';
        }

        elseif(isset($aContent))
        {

            foreach($aContent as $sLine)
            {

                echo '<p>'.$sLine.'</p>';
            }
        }

        ?>

                        
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="contact">
        <p>
            <label class="field" for="naam">Naam:</label>
            <input type="text"
                id="naam"
                name="naam"
                value="<?php echo isset($_SESSION['input']['naam']) ? $_SESSION['input']['naam'] : ''; ?>"
                class="<?php echo (isset($_SESSION['errors']['naam']) && $_SESSION['errors']['naam'] == 'true') ? 'error' : ''; ?>"
            />
        </p>
        <p>
            <label class="field" for="email">Email adres:</label>
            <input type="text"
                id="email"
                name="email"
                value="<?php echo isset($_SESSION['input']['email']) ? $_SESSION['input']['email'] : ''; ?>"
                class="<?php echo (isset($_SESSION['errors']['email']) && $_SESSION['errors']['email'] == 'true') ? 'error' : ''; ?>"
            />
        </p>
        <p>
            <label class="field" for="bericht">Bericht:</label>
            <textarea
                id="bericht"
                name="bericht"
                class="none <?php echo (isset($_SESSION['errors']['bericht']) && $_SESSION['errors']['bericht'] == 'true') ? 'error' : ''; ?>"
                cols="70"
                rows="10"><?php echo isset($_SESSION['input']['bericht']) ? $_SESSION['input']['bericht'] : ''; ?></textarea>
        </p>
        <p>
            <input type="submit" value="Verzenden" />
        </p>
        </form>                
    </div>
    
</body>
</html>


Deze slaat echter op de oude Swift Mail, en de bestanden waarnaar verwezen werd, zijn veranderd. Nu heb ik geprobeerd naar de juiste bestanden te verwijzen. Dat zijn dus deze:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php require_once '../lib/swift_required.php';
           require_once $_SERVER['DOCUMENT_ROOT']."/lib/classes/Swift.php";
           require_once $_SERVER['DOCUMENT_ROOT']."/lib/classes/Swift/SmtpTransport.php";?>


Maar nu krijg ik de volgende error:

Fatal error: Class 'Swift_Connection_SMTP' not found in /var/www/vhosts/mijndomein.nl/httpdocs/test/contact.php on line 52

Kan iemand mij helpen?
Gewijzigd op 01/01/1970 01:00:00 door Tom C
 
Jesper Diovo

Jesper Diovo

25/05/2009 18:25:00
Quote Anchor link
Je hebt nog steeds niet de juiste bestanden. De klasse 'Swift_Connection_SMTP' ontbreekt nog. Enig idee in welk bestand die zou zitten?
 
Tom C

Tom C

25/05/2009 18:30:00
Quote Anchor link
Ik heb vrijwel alle bestanden gecontroleerd..
Het lijkt wel alsof Swift_Connection_SMTP niet meer bestaat..

Maar hoe geef ik dan mijn SMTP server op?
 
Midas

Midas

25/05/2009 18:38:00
Quote Anchor link
Tom schreef op 25.05.2009 18:30:
Ik heb vrijwel alle bestanden gecontroleerd..
Het lijkt wel alsof Swift_Connection_SMTP niet meer bestaat..

Maar hoe geef ik dan mijn SMTP server op?
Zie regel 52.
 
Tom C

Tom C

25/05/2009 18:39:00
Quote Anchor link
Ik ben ook niet achterlijk.

Je ziet toch dat hij "Swift_Connection_SMTP" niet kan vinden.
Dan vraag ik me nu dus af, hoe het wél moet..
 
Jesper Diovo

Jesper Diovo

25/05/2009 18:42:00
Quote Anchor link
Zoek Swift_Connection_SMTP op. Die móét bestaan, anders kan het niet.
 
Tom C

Tom C

25/05/2009 18:52:00
Quote Anchor link
Ben even verder gaan graven in de documentatie van Swift Mailer,
en toen ik bijna bij de bodem kwam (=P) zag ik eindelijk waar het aan lag.

Het hele systeem is omgegooid, en Swift_Connection_SMTP bestaat niet meer.

Ik ga er vanavond uitgebreid naar kijken.
Ik hou jullie op de hoogte ;-)

mvg,
Tom
 



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.