συνάρτηση mail()

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

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

Απάντηση
manos__
Δημοσιεύσεις: 24
Εγγραφή: 08 Φεβ 2007 12:00

συνάρτηση mail()

Δημοσίευση από manos__ » 23 Φεβ 2007 13:03

Καλή Μέρα!
Ξέρει κανέις πώς μπορώ να βάλω html κώδικα μέσα στα email που στέλνω?
δλδ να γράφω ένα mail και τα html tags να τα αναγνωρίζει ως html tags!
Έστω ότι έχω τον παρακάτω κώδικα(που πήρα από ένα άλλο θέμα του forum):

<?php
$to = '1@gmail.com';
$subject = 'Δοκιμαστικό email';
$message = 'hello';
$headers = 'From: info@otenet.gr' . "\r\n" .
'Reply-To: info@otenet.gr' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?>


Τι διορθώσεις πρέπει να γίνουν???

Ευχαριστώ προκαταβολικά!!
:pint: :o

Άβαταρ μέλους
selemeles
Δημοσιεύσεις: 464
Εγγραφή: 23 Νοέμ 2006 12:42
Τοποθεσία: Άνω Λιόσια
Επικοινωνία:

συνάρτηση mail()

Δημοσίευση από selemeles » 23 Φεβ 2007 13:10

Ίσως να κάνω και λάθος, αλλα νομίζω υπάρχει εντολή

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

<<<_HTML
ή κάπως έτσι, βάζεις κώδικα html μέσα σε php...
οπότε στο

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

$message = 
βάζεις το κώδικά σου ;)

Πες μου για αποτελέσματα :Ρ
:: Blue Webeyes :: www.bwe.gr
-----------------------------------------------------
έπιπλα κουζίνας

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

συνάρτηση mail()

Δημοσίευση από cpulse » 23 Φεβ 2007 13:39

Το <<< είναι ένα σύμβολο με το οποίο γράφουμε here documents. Είναι κάτι σαν τα quotes δεν έχει σχέση με emails.

Μάνο αυτό μπορείς να το κάνεις άμα βάλεις έναν ακόμα header:
Content-Type: text/html

Κι άμα το κείμενο είναι σε ελληνικά κάντω
Content-Type: text/html; charset=iso-8859-7

manos__
Δημοσιεύσεις: 24
Εγγραφή: 08 Φεβ 2007 12:00

συνάρτηση mail()

Δημοσίευση από manos__ » 23 Φεβ 2007 23:54

Ευχαριστώ για τις απαντήσεις!
cpulse αυτό που είπες δούλεψε!
Τώρα μπορώ να βάζω και εικόνες στα mail!
Ευχαριστώ πολύ!!
:lol: :lol: :lol: :lol: :lol: :lol: :lol:

Και κάτι τελευταίο!
Τα mail που στέλνω,πάνε κανονικά σε yahoo και otenet αλλά στο hotmail
δεν τα εμφανίζει ούτε στα ανεπιθύμητα email.
Μήπως ξέρεις τι φταίει????

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

συνάρτηση mail()

Δημοσίευση από panosru » 24 Φεβ 2007 00:53

An thes na sthleis ena aplo html mail tote prepei na xrhshmopoihseis MIME Mail. To MIME (Multipurpose Internet Mail Extensions) dhlonei enan standar tropo apostolhs ton email me episynaptomena arxeia, kai/h me periexomeno pou den einai 7-bit US-ASCII. Gia na sthleis ena aplo html mail xoris episynaptomena arxeia ta prepei na prostheseis tous parakato headers stous hdh yparxon headers sou

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

MIME-Version&#58; 1.0
Content-Type&#58; text/html; charset="utf-8"
Content-Transfer-Encoding&#58; 7bit
kai na peraseis to html periexomeno sou os string sthn 3h parametro ths mail() function


Opoiesdhpote eikones, links, stylesheets, genika otidhpote tha xreiastei na katebei tha prepei na einai se full URL (dld <img src="http://www.example.com/images/foobar.jpg" alt="foobar" />)

Episeis, gia logous asfaleias oi perisoteroi clients den tha katebasoun aytomata tipota to opoio parapemptete sto html mail. An thes na prostheseis eikones sto mail sou tha prepei na xrhshmopoihseis episynaptomena arxeia, kati to opoio einai ena entelos diaforetiko komati ton MIME mails kai thelei poly anaptyksh, prama pou den mporo na kano me spasmeno xeri.. :P

manos__
Δημοσιεύσεις: 24
Εγγραφή: 08 Φεβ 2007 12:00

συνάρτηση mail()

Δημοσίευση από manos__ » 24 Φεβ 2007 13:52

Ευχαριστώ Πολύ! :lol:
Περαστικά! :hammer:

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

συνάρτηση mail()

Δημοσίευση από cpulse » 24 Φεβ 2007 14:20

Όλα καλά τα λέει ο Πάνος αλλά όχι 7bit. Και το utf-8 και το iso-8859-7 χρησιμοποιούν τιμές πάνω από 127, άρα θέλει 8bit. Το 7bit είναι μόνο για λατινικές γλώσσες.

Μάνο για να στείλεις σε hotmail χρειάζεσαι συγκεκριμένους headers.
Βάλε οπωσδήποτε

From
Reply-To
Return-Path
X-Sender

έστω κι αν σε όλα αυτά θα πρέπει να γράφεις τον ίδιο αποστολέα.

Και μη ξεχάσεις κι αυτό που σου λέει ο Πάνος, το "MIME-Version: 1.0" .

Αλλά μια που θα πάει σε ξένο mailer, δεν υπάρχει τρόπος να καταλάβει οτι το subject είναι γραμμένο στα ελληνικά. Στο περιεχόμενο με το Content-Type καθαρίζεις, αλλά το subject θέλει κολπάκι. Θέλει MIME encoded string με κωδικοποίηση base64 ή quoted printable.

Δηλαδή το

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

$subject = 'Δοκιμαστικό email';
κάντω

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

function qp_encode_mimestr&#40;$in, $charset&#41; &#123;
	$out = '';
	for &#40;$i = 0, $len = strlen&#40;$in&#41;; $i < $len; $i++&#41; &#123;
		$c = ord&#40;$in&#91;$i&#93;&#41;;
		$out .= $c == 61 || $c == 63 || $c <= 32 || $c > 126 ? sprintf&#40;'=%02X', $c&#41; &#58; $in&#91;$i&#93;;
	&#125;
	return '=?' . $charset . '?Q?' . $out . '?=';
&#125;

$subject = qp_encode_mimestr&#40;'Δοκιμαστικό email', 'iso-8859-7'&#41;;

manos__
Δημοσιεύσεις: 24
Εγγραφή: 08 Φεβ 2007 12:00

συνάρτηση mail()

Δημοσίευση από manos__ » 24 Φεβ 2007 23:00

Ευχαριστώ πολύ!
Από αυτά βέβαια που μου είπατε δεν καταλάβα πολλά αλλά ακούγονται ωραία και θα τα δοκιμάσω!!! :lol:

Μήπως ξέρει κανένας , κανένα καλό βιβλίο για php/mysql που να είναι στα ελληνικά????

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

συνάρτηση mail()

Δημοσίευση από Rapid-eraser » 25 Φεβ 2007 11:05

malov ir8e n ora va ma8eis agglika :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

manos__
Δημοσιεύσεις: 24
Εγγραφή: 08 Φεβ 2007 12:00

συνάρτηση mail()

Δημοσίευση από manos__ » 25 Φεβ 2007 15:14

Μας υποχρεώσες!!!! :kaloe:
Για πες τότε κανένα καλό βιβλίο στα αγγλικά...

Απάντηση

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

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

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