Πρόβλημα με mail και attachments

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

Πρόβλημα με mail και attachments

Δημοσίευση από nknet » 28 Απρ 2005 14:28

Έχω φτιάξει τον κώδικα έτσι όστε να στέλνω e-mail με αρχεία
Στο header όταν έχω βάλλει
Αυτό
"Content-Type: multipart/mixed;\r\n" .
μου στέλνει το αρχείο αλλά δεν μου στέλνει καλά τα ελληνικά
ενώ όταν βάλλω αυτό
"Content-type: text/html; charset=iso-8859-7\r\n";
μου στέλνει το μήνυμα στα ελληνικά αλλά δεν υπάρχει το αρχείο να το ανοίξω.
Μπορώ κάπως να τα συνδυάσω ?

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Πρόβλημα με mail και attachments

Δημοσίευση από Cha0s » 28 Απρ 2005 14:35

Ναι γίνεται.

Βάζεις και τα 2 :P

$headers = "Content-Type: multipart/mixed;\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-7\r\n";

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Πρόβλημα με mail και attachments

Δημοσίευση από Rapid-eraser » 28 Απρ 2005 14:37

katarxiv multipart/mixed av dev kavw la8os bazeis sto header to geviko alla se ka8e part tou mime prepei va oriseis ksava to content-type.

sta mime mails n diadikasia gia va baleis eva attachment eivai kapos periergi.

arxika prepei va kaveis base 64 conversion sto arxeio
n se 7bit n 8bit avaloga me tov tipo tou arxeiou

stnv sivexeia prepei va kaveis eva chunksplit gia va formaristei to arxeio simfova me ta protipa tou rfc gia ta mime mails

stnv sivexeia dimiourgeis eva boundry tixeo
kai grafeis

Κώδικας: Επιλογή όλων

--test-randomstuff245435234

Content-Type: image/jpeg; name="mydfile.jpg";
Content-Transfer-Encoding: base64

Content-Disposition: attachment

<base64 encode data for the file>

--test-randomstuff245435234--
me to parapavo formarisma bazeis osa pragmata 8es mesa

gia ta html parts allazeis to content type se html kai orizeis kai to character set pou xriazete
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

Πρόβλημα με mail και attachments

Δημοσίευση από nknet » 28 Απρ 2005 16:02

Το πρόβλημα ακόμα υπάρχει σας στέλνω όλον το κώδικα
Αυτό που θέλω να κάνω είναι να στέλνω ένα ενημερωτικό mail σε όσα mail έχω στην βάση δεδομένων βεβαία δεν θέλω μεταξύ τους οι χρηστές να μην βλέπουν τα άλλα mail και για αυτό χρησιμοποιώ το Bcc.
Θα ήθελα και ένα σχολείο αν χρησιμοποιώ σωστά το Bcc.
Παρακάτω παραθέτω όλο τον κώδικα
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include("../connect.php");
include("head.php");
if ($_GET['gl']=='') $_GET['gl'] = $_POST['gl'] ;
?>
</head>
<body>
<?php
if ($_POST['main']<>'') {
$bcc = "Bcc: " ;
$query = "SELECT `mail_onoma` FROM `mail` WHERE `mail_gl` = '".$_GET['gl']."' ;" ;
$result = mysql_query($query) or die ("den doulevei 1") ;
$sh = mysql_num_rows($result) ;
for ($i=0 ; $i < $sh ; $i++ ) {
$row = mysql_fetch_array ( $result, MYSQL_NUM) ;
$bcc .= $row[0] ;
if ( $i <> $sh-1 ) $bcc .= ", ";
}
$message= $_POST['main'];
$subject = $_POST['thema'];
// generate a random string to be used as the boundary marker
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
// store the file information to variables for easier access
$tmp_name = $_FILES['filename']['tmp_name'];
$type = $_FILES['filename']['type'];
$name = $_FILES['filename']['name'];
$size = $_FILES['filename']['size'];
// if the upload succeded, the file will exist
if (file_exists($tmp_name)){
// check to make sure that it is an uploaded file and not a system file
if(is_uploaded_file($tmp_name)){
// open the file for a binary read
$file = fopen($tmp_name,'rb');
// read the file content into a variable
$data = fread($file,filesize($tmp_name));
// close the file
fclose($file);
// now we encode it and split it into acceptable length lines
$data = chunk_split(base64_encode($data));
}
// next, we'll build the message body
// note that we insert two dashes in front of the
// MIME boundary when we use it
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
// now we'll insert a boundary to indicate we're starting the attachment
// we have to specify the content type, file name, and disposition as
// an attachment, then add the file content and set another boundary to
// indicate that the end of the file has been reached
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
$headers = "MIME-Version: 1.0\r\n" .
"Content-Type: multipart/mixed;\r\n" .
" boundary=\"{$mime_boundary}\"\r\n";
} else {
$headers = "MIME-Version: 1.0\r\n".
"Content-type: text/html; charset=iso-8859-7\r\n";
}
$headers .= "From: nknet@mail.gr \r\n";
$headers .= $bcc;
echo "<div class=\"massage\">";
if (@mail($to, $subject, $message, $headers)) echo "<p class=\"blue\">Το mail στάλθηκε</p>";
else echo "<p class=\"red\" >Το mail δεν στάλθηκε</p>";
echo "</div>\n";
}
?>
<form name="form1" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<input type="hidden" name="gl" value="<?php echo $_GET['gl'] ?>"/>
<table border="0" cellpadding="2" cellspacing="0" width="500">
<tr><td colspan="2"><h3>&#193;&#240;&#239;&#243;&#244;&#239;&#235;&#222; mail</h3></td></tr>
<tr><td><p>Θεμα: </p></td><td><p><input type="text" name="thema" size="100" value="" /></p></td></tr>
<tr><td><p>Σχόλια: </p></td><td><p><textarea name="main" cols="50" rows="10" class="widgEditor nothing"></textarea></p></td></tr>
<tr><td><p>Αρχείο: </p></td><td><p><input type="file" name="filename" size="50" /></p></td></tr>
<tr><td colspan="2"><input type="submit" name="Submit" value="Αποστολή" /> | <input type="reset" name="reset" value="Καθαρισμός" /></td></tr>
</table>
</form>
<?php
mysql_close($link);
?>
</body>
</html>

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Πρόβλημα με mail και attachments

Δημοσίευση από skeftomilos » 01 Μάιος 2005 16:59

Rapid-eraser έγραψε:katarxiv multipart/mixed av dev kavw la8os bazeis sto header to geviko alla se ka8e part tou mime prepei va oriseis ksava to content-type.
Καθόλου λάθος δεν κάνεις! :)

Σε αυτό το άρθρο υπάρχουν όλες οι λεπτομέρειες: Sending MIME e-mail from PHP - Part 1
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

Πρόβλημα με mail και attachments

Δημοσίευση από nknet » 03 Μάιος 2005 15:06

Γιατί μπερδεύτηκα παραπάνω με κάποια πράγματα όπως
part tou mime
base 64 conversion
chunksplit
rfc gia ta mime mails
boundry tixeo
(δυστυχώς δεν γνωρίζω καλά τους όρους)

Μήπως κάποιος μπορεί να μου πει τι πρέπει να διορθώσω στον κώδικα που έχω γράψει παραπάνω?

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Πρόβλημα με mail και attachments

Δημοσίευση από Rapid-eraser » 05 Μάιος 2005 14:28

av diabaseis to ar8ro apo zend 8a katalabeis ta
grafei poli avalitika ola :P
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

alasondro
Δημοσιεύσεις: 18
Εγγραφή: 07 Ιαν 2005 01:02

Πρόβλημα με mail και attachments

Δημοσίευση από alasondro » 05 Μάιος 2005 22:50

Γιατί δεν χρησιμοποιείς μια τάξη όπως η PhpMailer που θα σε διευκολύνει πάρα πολύ;

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Πρόβλημα με mail και attachments

Δημοσίευση από Cha0s » 06 Μάιος 2005 00:53

alasondro έγραψε:Γιατί δεν χρησιμοποιείς μια τάξη όπως η PhpMailer που θα σε διευκολύνει πάρα πολύ;
Offtopic>
Καλώστον :pint: :pint:

Άβαταρ μέλους
nknet
Δημοσιεύσεις: 97
Εγγραφή: 23 Οκτ 2003 07:54

Πρόβλημα με mail και attachments

Δημοσίευση από nknet » 06 Μάιος 2005 09:00

Παιδιά Sorry δεν είμαι καλός στα Αγγλικά.:oops: :oops: :oops:
Δεν μπορεί να μου πει κανένας τι να διορθώσω στον κώδικα.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης