Problemen met mailformulier
Ik snap hem helemaal..... hoe ga ik dat oplossen in mijn script?
Ook de inhoud van het script ben ik nog niet uit...
s
Daarnaast moet je goed nagaan welk adres je from adres moet zijn en welke je returnpath. Wijken deze qua domain af van de host, ga je problemen krijgen. Dit zou je bijv met je host (als je niet zelf host) moeten oplossen.
Maar hoe is dit op te lossen?
Inmiddels probeer ik de body samen te stellen. Hier een poging welke niet werkt. Krijg een foutmelding op :Parse error: parse error, unexpected T_STRING in F:\wwwroot\stefan\meandercommunicatie.nl\wwwroot\form.php on line 44
Datis de onderste regel:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
<?php
function check_mail($email) {
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email);
}
if (isset($_POST['naam']) && isset($_POST['e-mail']) && isset($_POST['bedrijfsnaam'])) {
if ($_POST['telefoon'] == "" || $_POST['body'] == "") {
print_error();
print_form();
} else {
$to = '[email protected]';
$subject = 'Training via de website';
$naam = $_POST['naam'];
$email = $_POST['email'];
$headers = "MIME_-Version: 1.0\n";
$headers.= "Content-Type: text/html; charset=iso-8859-1\n";
$headers.= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers.= "Return-Path: Mail-Error <".$email.">\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">";
$message = '
Training - Aanmelding via de website:
Bedrijfsnaam: '.$_POST[bedrijfsnaam].'
Naam: '.strtoupper($_POST[naam]).'
Tel: '.$_POST[telefoon].'
Email: '.$_POST[email].'
Opmerkingen:
'.$_POST[body].';
mail($to, $subject, $message, $headers);
print_sent();
}
} else {
print_form();
}
function print_form() {
?>
<table width=100% height=100%>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
function check_mail($email) {
return ereg("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email);
}
if (isset($_POST['naam']) && isset($_POST['e-mail']) && isset($_POST['bedrijfsnaam'])) {
if ($_POST['telefoon'] == "" || $_POST['body'] == "") {
print_error();
print_form();
} else {
$to = '[email protected]';
$subject = 'Training via de website';
$naam = $_POST['naam'];
$email = $_POST['email'];
$headers = "MIME_-Version: 1.0\n";
$headers.= "Content-Type: text/html; charset=iso-8859-1\n";
$headers.= "Reply-To: \"".$naam."\" <".$email.">\n";
$headers.= "Return-Path: Mail-Error <".$email.">\n";
$headers.= "From: ".$_POST['naam']." <".$_POST['email'].">";
$message = '
Training - Aanmelding via de website:
Bedrijfsnaam: '.$_POST[bedrijfsnaam].'
Naam: '.strtoupper($_POST[naam]).'
Tel: '.$_POST[telefoon].'
Email: '.$_POST[email].'
Opmerkingen:
'.$_POST[body].';
mail($to, $subject, $message, $headers);
print_sent();
}
} else {
print_form();
}
function print_form() {
?>
<table width=100% height=100%>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
Je fout begint op regel 31.
'.$_POST[body].';
moet zijn
'.$_POST['body'];
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
PHP Mailer heb ik al naar gekeken net als SWIFT Mailer... gaf me alleen maar meer problemen. Heb alle mogelijk tutorials gedaan en niets werkt!
Het huidige script moet goed zijn. Als ik nu weer opnieuw moet beginnen gaat de klant niet blij zijn met mij ;)
PHPmailer en swiftmailer zijn 551x beter dan wat je nu als code hebt, in alle opzichten.
Je maakt me warm voor een top product.... SUPER...
Echter werkend krijgen is dus voor mij ingewikkeld. Probleem bij SWIFT was het SMTP verhaal. Ik heb een server/login+password.....
Daarnaast wil ik natuurlijk dat mijn mail netjes wordt samengesteld uit mijn formfields.
Ik sta open voor suggesties...
S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$message = "Training - Aanmelding via de website:
Bedrijfsnaam: '.$_POST[bedrijfsnaam].'
Naam: '.strtoupper($_POST[naam]).'
Tel: '.$_POST[telefoon].'
Email: '.$_POST[email].'
Opmerkingen:
'.$_POST[body];
?>
$message = "Training - Aanmelding via de website:
Bedrijfsnaam: '.$_POST[bedrijfsnaam].'
Naam: '.strtoupper($_POST[naam]).'
Tel: '.$_POST[telefoon].'
Email: '.$_POST[email].'
Opmerkingen:
'.$_POST[body];
?>
en die dan in je mail-functie zetten... dan heb je geen gekloot met die swift classes enzo :P
Grtz
dit topic.
Jan Koehoorn heeft met Swiftmailer het meeste gedaan van ons hier, kijk dat topic maar eens door voor wat tips n tricks. Als je er echt niet uitkomt kan je het met een PM proberen, maar dan moet je het al weg geprobeerd hebben, anders leestie ze niet.
edit: niet pieter zn code gebruiken. duik in swift
neem even een kijkje op Jan Koehoorn heeft met Swiftmailer het meeste gedaan van ons hier, kijk dat topic maar eens door voor wat tips n tricks. Als je er echt niet uitkomt kan je het met een PM proberen, maar dan moet je het al weg geprobeerd hebben, anders leestie ze niet.
edit: niet pieter zn code gebruiken. duik in swift
Gewijzigd op 01/01/1970 01:00:00 door - wes -
Deze tekst geef errors: Parse error: parse error, unexpected '?' in F:\wwwroot\stefan\meandercommunicatie.nl\wwwroot\form.php on line 43
Dat is deze regel:
WES: ik ga even het topic bestuderen.... hoop dat ik eruit kom :D
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
Ik heb de topic even bekeken. Maar wat me opvalt is dat er nergens iets staat over hoe SWIFT werkend moet worden gekregen maar dat er alleen maar over SPAM gepraat wordt.
Zoals eerder verteld... ik heb een form....
nu wil ik deze door SWIFT laten versturen...
what to do?
Dit is wat ik als foutmelding krijg:
Notice: Undefined variable: _SESSION in F:\wwwroot\stefan\meandercommunicatie.nl\wwwroot\form2.php on line 16
Dit is de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
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
<?php
require_once "includes/Swift.php";
require_once "includes/Swift/Connection/SMTP.php";
/* De SMTP server die gebruikt wordt om de mail te verzenden, vul hier je eigen server in! */
$oSmtp = new Swift_Connection_SMTP('mail.meandercommunicatie.nl', 25);
/* 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>Training - Aanmelding via de website:</h1>
<p>Bedrijfsnaam: '.htmlentities($_SESSION['input']['bedrijfsnaam']).'</p>
<p>Naam: '.htmlentities($_SESSION['input']['naam']).'</p>
<p>Email: '.htmlentities($_SESSION['input']['email']).'</p>
<p>Telefoon: '.htmlentities($_SESSION['input']['telefoon']).'</p>
<p>Bericht: '.htmlentities($_SESSION['input']['body']).'</p>
</body>
</html>';
$oMessage = new Swift_Message($sSubject, $sMessage, 'text/html');
$oSwift->send($oMessage, $oTo, $oFrom);
?>
<table width=100% height=100%>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td valign="top">Bedrijfsnaam:</td>
<td valign="top"><input type="text" name="bedrijfsnaam" /></td>
<td rowspan="4" valign="top"><textarea cols="40" rows="6" name="body" class="text">Graag een korte omschrijving van uw wensen</textarea></td>
</tr>
<tr>
<td valign="top">E-mailadres:</td>
<td valign="top"><input type="text" name="email" /></td>
</tr>
<tr>
<td valign="top">Volledige naam:</td>
<td valign="top"><input type="text" name="naam" /></td>
</tr>
<tr>
<td valign="top">Telefoon:</td>
<td valign="top"><input type="text" name="telefoon" /></td>
</tr>
<tr>
<td colspan="2" valign="top"><input type="submit" value="Verstuur de email" /></td>
<td valign="top"> </td>
</tr>
</table>
</form>
require_once "includes/Swift.php";
require_once "includes/Swift/Connection/SMTP.php";
/* De SMTP server die gebruikt wordt om de mail te verzenden, vul hier je eigen server in! */
$oSmtp = new Swift_Connection_SMTP('mail.meandercommunicatie.nl', 25);
/* 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>Training - Aanmelding via de website:</h1>
<p>Bedrijfsnaam: '.htmlentities($_SESSION['input']['bedrijfsnaam']).'</p>
<p>Naam: '.htmlentities($_SESSION['input']['naam']).'</p>
<p>Email: '.htmlentities($_SESSION['input']['email']).'</p>
<p>Telefoon: '.htmlentities($_SESSION['input']['telefoon']).'</p>
<p>Bericht: '.htmlentities($_SESSION['input']['body']).'</p>
</body>
</html>';
$oMessage = new Swift_Message($sSubject, $sMessage, 'text/html');
$oSwift->send($oMessage, $oTo, $oFrom);
?>
<table width=100% height=100%>
<form action="<?=$_SERVER['PHP_SELF'];?>" method="POST">
<table width="100%" border="0" cellspacing="2" cellpadding="2">
<tr>
<td valign="top">Bedrijfsnaam:</td>
<td valign="top"><input type="text" name="bedrijfsnaam" /></td>
<td rowspan="4" valign="top"><textarea cols="40" rows="6" name="body" class="text">Graag een korte omschrijving van uw wensen</textarea></td>
</tr>
<tr>
<td valign="top">E-mailadres:</td>
<td valign="top"><input type="text" name="email" /></td>
</tr>
<tr>
<td valign="top">Volledige naam:</td>
<td valign="top"><input type="text" name="naam" /></td>
</tr>
<tr>
<td valign="top">Telefoon:</td>
<td valign="top"><input type="text" name="telefoon" /></td>
</tr>
<tr>
<td colspan="2" valign="top"><input type="submit" value="Verstuur de email" /></td>
<td valign="top"> </td>
</tr>
</table>
</form>
Stef
Gewijzigd op 01/01/1970 01:00:00 door Stef Segers
if (isset($var))
etc
Wat je schreef .. ik niet begrijp..
Ben inmiddels verder gegaan en heb het testscript gevonden... basicmail.... hij leest mijn test config uit en verstuurd super ene mail naar mijn .mac account.. wederom niet naar mijn domein.. zal wel weer spam probleem zijn....
Als dit werkend te krijgen is zal ik vast op 1 of andere manier mijn form kunnen verwerken in SWIFT toch?
S.
Quote:
En waar staat in jouw code dan een emailadres op jouw domein? Ik zie je nergens een mailtje sturen naar zo'n email adres hoor, enkel naar je .mac adres.... wederom niet naar mijn domein ...
Ik heb van SWIFT de TestConfiguration aangepast.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
* EVERYTHING BELOW IS FOR SMOKE TESTING ONLY
*/
/**
* The connection tye to use in testing
* "smtp", "sendmail" or "nativemail"
*/
var $CONNECTION_TYPE = "nativemail";
/**
* An address to send emails from
*/
var $FROM_ADDRESS = "[email protected]";
/**
* The name of the sender
*/
var $FROM_NAME = "Chris Corbyn - from";
/**
* An address to send emails to
*/
var $TO_ADDRESS = "[email protected]";
/**
* The name of the recipient
*/
var $TO_NAME = "Stef Segers";
/*
* SMTP SETTINGS - IF APPLICABLE
*/
/**
* The FQDN of the host
*/
var $SMTP_HOST = "smtp.swiftmailer.org";
/**
* The remote port of the SMTP server
*/
var $SMTP_PORT = 25;
*/
/**
* The connection tye to use in testing
* "smtp", "sendmail" or "nativemail"
*/
var $CONNECTION_TYPE = "nativemail";
/**
* An address to send emails from
*/
var $FROM_ADDRESS = "[email protected]";
/**
* The name of the sender
*/
var $FROM_NAME = "Chris Corbyn - from";
/**
* An address to send emails to
*/
var $TO_ADDRESS = "[email protected]";
/**
* The name of the recipient
*/
var $TO_NAME = "Stef Segers";
/*
* SMTP SETTINGS - IF APPLICABLE
*/
/**
* The FQDN of the host
*/
var $SMTP_HOST = "smtp.swiftmailer.org";
/**
* The remote port of the SMTP server
*/
var $SMTP_PORT = 25;
Daarna runTestOfBasicSend.php gestart..... mijn .mac account gaat prima.. maar mijn domein niet helaas...
S.