Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

nu trimite mail php
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
leobugg



Data înscrierii: 23/Sep/2008
Mesaje: 3

Trimis: Mar Sep 23, 2008 11:04 am    Titlul subiectului: nu trimite mail php  

Buna
sunt noua in zona.
Am tot cautat dar nu am gasit nimic asemanator cu problema mea.
Am un site php pe un server linux, cu php5 instalat.
Am si un forum phpbb3 legat de site. Totul e ok, am facut minuni as zice, dar am o problema grava.
Am un form pentru jobs unde cine vrea poate trimite numele ocupatia si binenteles un c.v. Am in pagina jobs.php codul html si 2 file mail_attachment.php si forminvio.php legate de modulul mail.

Il file forminvio.php am asa ceva:

Cod: <?php
$messaggio = 'prova';
$oggetto = 'Curriculum dal sito';
$achi = 'mail.........';
$dachi = $_POST['cognome'] .'&nbsp;'. $_POST['nome'];
$allegato = $_POST['curriculum'];
$nomeAllegato = 'curriculum';

print $dachi . '<br>';
print $allegato . '<br>';
print $_FILES['curriculum']['error'] . '<br>';
print $_FILES['curriculum']['name']. '<br>';

include "mail_attachment.php";

mail_attachment ($dachi , $achi, $oggetto, $messaggio, $allegato);
?>


Iar in mail_ attachment.php am codul urmator:

Cod: <?php
$attachment = $_FILES['curriculum']['tmp_name'];
$typefile = $_FILES['curriculum']['type'];
$name_file = $_FILES['curriculum']['name'];
$size_file = $_FILES['curriculum']['size'];

print $attachment.'<br />';
print $typefile.'<br />';
print $name_file.'<br />';
print $file_path;

function mail_attachment ($from , $to, $subject, $message, $attachment){
   
   $fileatt = $attachment; // Path to the file                 
   $fileatt_type = $typefile; // File Type
    $start=   strrpos($attachment, '/') == -1 ? strrpos($attachment, '//') : strrpos($attachment, '/')+1;
   $fileatt_name = $name_file; // Filename that will be used for the file as the    attachment

   $email_from = $from; // Who the email is from
   $email_subject =  $subject; // The Subject of the email
   $email_txt = $message; // Message that the email has in it
   
   $email_to = $to; // Who the email is to

   $headers = "From: ".$email_from;

   if(!($file = fopen($attachment,'rb'))) echo "File failed to open";
   $data = fread($file_path,$size_file);
   fclose($file);
   $msg_txt="";

   $semi_rand = md5(time());
   $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
   
   $headers .= "\nMIME-Version: 1.0\n" .
            "Content-Type: multipart/mixed;\n" .
            " boundary=\"{$mime_boundary}\"";

   $email_txt .= $msg_txt;
   
   $email_message .= "This is a multi-part message in MIME format.\n\n" .
                "--{$mime_boundary}\n" .
                "Content-Type:text/html; charset=\"iso-8859-1\"\n" .
               "Content-Transfer-Encoding: 7bit\n\n" .
   $email_txt . "\n\n";

   $data = chunk_split(base64_encode($data));

   $email_message .= "--{$mime_boundary}\n" .
                  "Content-Type: {$fileatt_type};\n" .
                  " name=\"{$fileatt_name}\"\n" .
                  //"Content-Disposition: attachment;\n" .
                  //" filename=\"{$fileatt_name}\"\n" .
                  "Content-Transfer-Encoding: base64\n\n" .
                 $data . "\n\n" .
                  "--{$mime_boundary}--\n";


   $ok = @mail($email_to, $email_subject, $email_message, $headers);

   if($ok) {
   } else {
      die("Sorry but the email could not be sent. Please go back and try again!");
   }
}
?>

Am vorbit cu firma de la care am cumparat spatiul. Am toate permisele de acces la toate cartelel, am parcursul mailului stabilit de ei. Am tot, cred.

Da imi da eroare in site cand vrei sa trimiti mail cu attachment:

Cod: sdfs sdf

0
prova.txt
/tmp/phpMa7ykA
text/plain
prova.txt
File failed to open
Warning: fread(): supplied argument is not a valid stream resource in /home/neveralo/public_html/mail_attachment.php on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /home/neveralo/public_html/mail_attachment.php on line 29

Unde gresesc???
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mar Sep 23, 2008 11:12 am    Titlul subiectului:  

la linia 28 din fisierul mail_attachment.php se incearca citirea cu functia fread() a unui fisier, dar parametrul prmit de acea functie e incorect si da eroarea specificata de tine

Ar trebui sa vezi ce anume primeste ca parametru fread si sa validezi codul astfel ca parametrul cerut sa fie bun.

mai exact

$data = fread($file_path,$size_file);

nu ai initializat in interiorul functiei $file_path,$size_file
Sus  
leobugg



Data înscrierii: 23/Sep/2008
Mesaje: 3

Trimis: Mar Sep 23, 2008 11:25 am    Titlul subiectului:  

Folosesc functia fopen ca sa valideze fread.

Cod: if(!($file = fopen($attachment,'rb'))) echo "File failed to open";
   $data = fread($file_path,$size_file);
   fclose($file);
   $msg_txt="";

Oricum am sa ma uit din nou poate am gresit eu, totusi nici macar nu citeste ceea ce atasez la mail.
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2607
Locație: Bucuresti

Trimis: Mar Sep 23, 2008 12:08 pm    Titlul subiectului:  

eu ma referam ca in functia afisata de tine mai sus la linia cu fread ai 2 variabile care nu sunt initializate in interiorul acelei functii si php-ul nu stie ce valori sa le aloce...
Sus  
leobugg



Data înscrierii: 23/Sep/2008
Mesaje: 3

Trimis: Mar Sep 23, 2008 1:55 pm    Titlul subiectului:  

am incercat de toate si nu functioneaza, mereu acelasi mesaj.
In schimb uitandu-ma prin forumul vostru am gasit LibMail : A PHP Mail Class si am implementat varanta asta.
Functioneaza destul de bine. Trebuie doar sa imi pun manuta pe ici pe colo, dar reusesc sa trimit mesaje cu alegat din site si primesc ceea ce am trimis. Nu primesc informatiile perfecte, dar e ceva.
Sper eu sa rezolv.
Multumesc
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community