Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz email - problem
Forum PHP.pl > Forum > PHP
cinuus
Witam, po wysłaniu formularza gdzie załącza się zdjecia i treść wyswietla komunikat i email nie dochodzi na skrzynke
Kshyhoo
Cytat(cinuus @ 3.09.2013, 09:04:29 ) *
Witam, po wysłaniu formularza gdzie załącza się zdjecia i treść wyswietla komunikat i email nie dochodzi na skrzynke

Musisz poczekać na Forumową wróżkę - jeszcze śpi... Jak wstanie, to luknie w szklaną kulę i coś poradzi.









PS. Wstydzisz się swojego kodu?
cinuus
nie bardzo wiem której części kodu się chycić, więc wysyłam z from.php
nospor
@cinuus w kwestii formalnej: jak piszesz skrypt to piszesz go tekstem czy do edytora wklejasz obrazki z tekstem?
Podejrzewam, ze piszesz tekstem, wiec i badz laskaw i nam na forum wklejaj tekst kodu a nie obrazki z kodem :/
cinuus
Zauwazyłem teraz, że gdy wysyła się jakieś np dwa zdjęcie z formularza to nie ma problemu z działaniem, problem pojawia się gdy wysyłam więcej zdjęc gdy w sumie rozmiar maila jest przynajmniej 15 MB.
buliq
A wróżka już nie śpi, ale w kuli ma mgłę ...
Pomóż wróżce i odpowiedz na następujące pytania!

Co mówi error log?
Co ten kod robi?
Dlaczego w obrazku?
Za mało kodu.
Post powyżej nic nie mówi, bo nie wiemy co ma mówić.

@down: A fairy is not enought. God Help Us!
cinuus
<?

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");
?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.