<?
function includehtml($nazwa, $adres, $telefon, $strona, $okazja, $tekst, $spLink, $spDaty, $nazwaG, $nazwaS, $ileSztuk) {
return '
<!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=windows-1250" />
<title>kalendarze-strazackie.pl</title>
</head>
<body>
<center>
<table cellpadding="0" cellspacing="0" border="0" class="content">
<tr>
<td align="justify" valign="top">
<p>Oto dane, które otrzymaliśmy: </p>
<p>Nazwa jednostki:<br />'.$nazwa.'</p>
<p>Adres jednostki:<br />'.$adres.'</p>
<p>Telefon: '.$telefon.'</p>
<p>Strona www: '.$strona.'</p>
<p>Okazje:<br />'.$okazja.'</p>
<p>Specjalne daty:<br />'.$spDaty.'</p>
<p>Linki sponsorĂłw:<br />'.$spLink.'</p>
<p>Lista grafik sponsorĂłw: '.$nazwaS.'</p>
<p>Lista zdjęć: '.$nazwaG.'</p>
<p>Ilość zamówionych sztuk: '.$ileSztuk.'</p>
</td>
</tr></table>
</body>
</html>
';
}
if($_POST['zapytanie'] != 'true') header('Location: ./');
require_once './class.phpmailer.php';
$email = $_POST['email'];
$fotkiS = array();
$fotkiG = array();
$dirr = time();
$nazwaG = "";
$nazwaS = "";
mkdir("./uploads/$dirr");
chmod("./uploads/$dirr",0777);
mkdir("./uploads/$dirr/glowne");
chmod("./uploads/$dirr/glowne",0777);
mkdir("./uploads/$dirr/sponsorzy");
chmod("./uploads/$dirr/sponsorzy",0777);
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->AddReplyTo($email, $nazwa);
$mail->AddAddress ('kalendarze@seogood.pl');
$mail->SetFrom($email, $nazwa);
$mail->AddReplyTo($email, $nazwa);
$mail->Subject = 'Zgloszenie ze strony kalendarze-strazackie.pl';
$mail->AltBody = 'Pelna tresc dostepna tylko dla klientow pocztowych z wsparciem HTML!'; // optional - MsgHTML will create an alternate automatically
while(list($keyG,$valueG) = each($_FILES[fotka][name]))
{
//
if(!empty($valueG))
{
$filenameG = $valueG;
$nazwaG .= $valueG.", ";
array_push($fotkiG, $filenameG);
//the Array will be used later to attach the files and then remove them from server ! array_push($attachments, $filename);
$dirG = "./uploads/$dirr/glowne/$filenameG";
copy($_FILES[fotka][tmp_name][$keyG], $dirG);
}
//
}
foreach($fotkiG as $keyG => $valueG) { //loop the Attachments to be added ...
$mail->AddAttachment("./uploads/$dirr/glowne/".$valueG);
}
while(list($keyS,$valueS) = each($_FILES[sponsorzyFotki][name]))
{
//
if(!empty($valueS))
{
$filenameS = $valueS;
$nazwaS = $valueS;
array_push($fotkiS, $filenameS);
//the Array will be used later to attach the files and then remove them from server ! array_push($attachments, $filename);
$dirS = "./uploads/$dirr/sponsorzy/$filenameS";
copy($_FILES[sponsorzyFotki][tmp_name][$keyS], $dirS);
}
//
}
foreach($fotkiS as $keyS => $valueS) { //loop the Attachments to be added ...
$mail->AddAttachment("./uploads/$dirr/sponsorzy/".$valueS);
}
$mail->MsgHTML(iconv('UTF-8', 'CP1250',includehtml($_POST['nazwa'],$_POST['adres'],$_POST['telefon'],$_POST['www'],$_POST['okazje'],$_POST['dodatkowy'],$_POST['sponsorzyLinki'],$_POST['daty'],$nazwaG,$nazwaS,$_POST['ile'])));
$mail->Send();
foreach($fotkiG as $keyG => $valueG) {//remove the uploaded files ..
unlink("./uploads/$dirr/glowne/".$valueG);
}
foreach($fotkiS as $keyS => $valueS) {//remove the uploaded files ..
unlink("./uploads/$dirr/sponsorzy/".$valueS);
}
rmdir("./uploads/$dirr/sponsorzy");
rmdir("./uploads/$dirr/glowne");
rmdir("./uploads/$dirr");
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
header("Location: ./wyslano.html");
?>
Naprowadzi mnie ktoś w czym polega błąd ?
Jeszcze raz bardziej przejrzyście umieszczam kod pliku from.php i zauważyłem to to być moze problem chmodów , dając 777 nie wysyła gdy dałem 604 formularz dojdzie na emaila jednak nie za kazdym razem.. Zmieniałem adres email docelowy to czy tez w kodzie powinienem ustawić serwery emaila POP itp ?
Kod
<a href="form.php">form</a><?
function includehtml($nazwa, $adres, $telefon, $strona, $okazja, $tekst, $spLink, $spDaty, $nazwaG, $nazwaS, $ileSztuk) {
return '
<!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=windows-1250" />
<title>kalendarze-strazackie.pl</title>
</head>
<body>
<center>
<table cellpadding="0" cellspacing="0" border="0" class="content">
<tr>
<td align="justify" valign="top">
<p>Oto dane, które otrzymaliśmy: </p>
<p>Nazwa jednostki:<br />'.$nazwa.'</p>
<p>Adres jednostki:<br />'.$adres.'</p>
<p>Telefon: '.$telefon.'</p>
<p>Strona www: '.$strona.'</p>
<p>Okazje:<br />'.$okazja.'</p>
<p>Specjalne daty:<br />'.$spDaty.'</p>
<p>Linki sponsorĂłw:<br />'.$spLink.'</p>
<p>Lista grafik sponsorĂłw: '.$nazwaS.'</p>
<p>Lista zdjęć: '.$nazwaG.'</p>
<p>Ilość zamówionych sztuk: '.$ileSztuk.'</p>
</td>
</tr></table>
</body>
</html>
';
}
if($_POST['zapytanie'] != 'true') header('Location: ./');
require_once './class.phpmailer.php';
$email = $_POST['email'];
$fotkiS = array();
$fotkiG = array();
$dirr = time();
$nazwaG = "";
$nazwaS = "";
mkdir("./uploads/$dirr");
chmod("./uploads/$dirr",0777);
mkdir("./uploads/$dirr/glowne");
chmod("./uploads/$dirr/glowne",0777);
mkdir("./uploads/$dirr/sponsorzy");
chmod("./uploads/$dirr/sponsorzy",0777);
$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
try {
$mail->AddReplyTo($email, $nazwa);
$mail->AddAddress ('kalendarzestrazackie@wp.pl');
$mail->SetFrom($email, $nazwa);
$mail->AddReplyTo($email, $nazwa);
$mail->Subject = 'Zgloszenie ze strony kalendarze-strazackie.pl';
$mail->AltBody = 'Pelna tresc dostepna tylko dla klientow pocztowych z wsparciem HTML!'; // optional - MsgHTML will create an alternate automatically
while(list($keyG,$valueG) = each($_FILES[fotka][name]))
{
//
if(!empty($valueG))
{
$filenameG = $valueG;
$nazwaG .= $valueG.", ";
array_push($fotkiG, $filenameG);
//the Array will be used later to attach the files and then remove them from server ! array_push($attachments, $filename);
$dirG = "./uploads/$dirr/glowne/$filenameG";
copy($_FILES[fotka][tmp_name][$keyG], $dirG);
}
//
}
foreach($fotkiG as $keyG => $valueG) { //loop the Attachments to be added ...
$mail->AddAttachment("./uploads/$dirr/glowne/".$valueG);
}
while(list($keyS,$valueS) = each($_FILES[sponsorzyFotki][name]))
{
//
if(!empty($valueS))
{
$filenameS = $valueS;
$nazwaS = $valueS;
array_push($fotkiS, $filenameS);
//the Array will be used later to attach the files and then remove them from server ! array_push($attachments, $filename);
$dirS = "./uploads/$dirr/sponsorzy/$filenameS";
copy($_FILES[sponsorzyFotki][tmp_name][$keyS], $dirS);
}
//
}
foreach($fotkiS as $keyS => $valueS) { //loop the Attachments to be added ...
$mail->AddAttachment("./uploads/$dirr/sponsorzy/".$valueS);
}
$mail->MsgHTML(iconv('UTF-8', 'CP1250',includehtml($_POST['nazwa'],$_POST['adres'],$_POST['telefon'],$_POST['www'],$_POST['okazje'],$_POST['dodatkowy'],$_POST['sponsorzyLinki'],$_POST['daty'],$nazwaG,$nazwaS,$_POST['ile'])));
$mail->Send();
foreach($fotkiG as $keyG => $valueG) {//remove the uploaded files ..
unlink("./uploads/$dirr/glowne/".$valueG);
}
foreach($fotkiS as $keyS => $valueS) {//remove the uploaded files ..
unlink("./uploads/$dirr/sponsorzy/".$valueS);
}
rmdir("./uploads/$dirr/sponsorzy");
rmdir("./uploads/$dirr/glowne");
rmdir("./uploads/$dirr");
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
header("Location: ./wyslano.html");
?>