Πρόβλημα με την mail()

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

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

Απάντηση
atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 09 Οκτ 2011 19:00

Καλησπέρα σας!!!
Παρακαλώ απαντήστε εαν γνωρίζετε.
Έχω στο root του Webserver τα παρακάτω αρχεία, αλλά δεν στέλνει το email.
Το έχω δοκιμάσει σε localhost (XAMPP) και όλα ειναι εντάξει

feedback.html

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

<html>
<head>
<title>E-Mail Form</title>
</head>
<body>

<form action="sendmail.php" method="POST">
<p><strong>Name&#58;</strong><br> <input type="text" size="25" name="name" /></p>
<p><strong>E-Mail Address&#58;</strong><br />
<input type="text" size="25" name="email" /></p>
<p><strong>Message&#58;</strong><br />
<textarea name="message" cols="30" rows="5"></textarea></p>
<p><input type="submit" value="send" /></p>
</form>

</body>
</html>
--------------------------------------------------------
sendmail.php

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

<html>
<head>
<title>Sending mail from the form</title>
</head>

<body>

<?php
echo "<p>Thank you, <b>".$_POST&#91;"name"&#93;."</b>, for your message!</p>";
echo "<p>Your e-mail address is&#58; <b>".$_POST&#91;"email"&#93;."</b>.</p>";


echo "<p>Your message was&#58;<br />";
echo $_POST&#91;"message"&#93;."</p>";
//start building the mail string
$msg = "Name&#58; ".$_POST&#91;"name"&#93;."\n";
$msg .= "E-Mail&#58; ".$_POST&#91;"email"&#93;."\n";
$msg .= "Message&#58; ".$_POST&#91;"message"&#93;."\n";
//set up the mail
$recipient = 'mail@1epal-mytil.les.sch.gr';
$subject = "Form Submission Results";
$mailheaders = "From&#58; My Web Site <defaultaddress@yourdomain.com> \n";
$mailheaders .= "Reply-To&#58; ".$_POST&#91;"email"&#93;;
//send the mail
mail&#40;$recipient, $subject, $msg, $mailheaders&#41;;
?>

</body>
</html>

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 09 Οκτ 2011 19:58

Αν σου δουλεύει τοπικά αλλά όχι στον server, μπορεί να φταίνε οι ρυθμίσεις του server.
Θα σου έλεγα αντί να χρησιμοποιείς την mail(), να χρησιμοποιήσεις κάποια class για να στέλνεις mail μέσω smtp server.

thundergr
Δημοσιεύσεις: 49
Εγγραφή: 09 Μαρ 2009 14:39

Πρόβλημα με την mail()

Δημοσίευση από thundergr » 10 Οκτ 2011 02:44

Μπορείς να περιγράψεις λίγο καλύτερα το "αλλά δεν στέλνει το email".
Βγάζει κάποιο error? Μήπως το στέλνει και πάει στα spam?

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 12:41

Είχες δίκιο για λόγους ασφαλείας δεν λειτουργεί η mail() και με παραπέμπει στο PHPmailer. Μπήκα στη σελίδα του PHPMailer αλλά επειδή δεν καταλαβαίνω και πολλά σε παρακαλώ πες μου βήμα-βήμα τι πρέπει να κάνω. Σου υπενθιμιζω ότι έχω εγκαταστήσει το XAMPP. Ευχαριστώ πολύ.

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 11 Οκτ 2011 13:31

Κατεβάζεις το phpmailer, κάνεις include την κλάση στο script σου και βασισμένος σε ένα από τα παραδείγματα δημιουργείς ανάλογα το δικό σου script.
Π.χ.:

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

require_once&#40;'../class.phpmailer.php'&#41;;

$mail             = new PHPMailer&#40;&#41;; // defaults to using php "mail&#40;&#41;"

$body             = file_get_contents&#40;'contents.html'&#41;;
$body             = eregi_replace&#40;"&#91;\&#93;",'',$body&#41;;

$mail->AddReplyTo&#40;"name@yourdomain.com","First Last"&#41;;

$mail->SetFrom&#40;'name@yourdomain.com', 'First Last'&#41;;

$mail->AddReplyTo&#40;"name@yourdomain.com","First Last"&#41;;

$address = "whoto@otherdomain.com";
$mail->AddAddress&#40;$address, "John Doe"&#41;;

$mail->Subject    = "PHPMailer Test Subject via mail&#40;&#41;, basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML&#40;$body&#41;;

$mail->AddAttachment&#40;"images/phpmailer.gif"&#41;;      // attachment
$mail->AddAttachment&#40;"images/phpmailer_mini.gif"&#41;; // attachment

if&#40;!$mail->Send&#40;&#41;&#41; &#123;
  echo "Mailer Error&#58; " . $mail->ErrorInfo;
&#125; else &#123;
  echo "Message sent!";
&#125;
    

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 18:25

Αναλυτικά σας παρακαλώ!!

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 11 Οκτ 2011 18:26

Πόσο αναλυτικά; Που ακριβώς κολλάς;

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 19:42

Κατέβασα τον PHPMailer 5.2.0. Κάνω extract σε κάποιο φάκελο. Μετά που το αντιγράφω .... Ευχαριστώ

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 11 Οκτ 2011 19:45

Το αντιγράφεις σε κάποιο directory μέσα στο project σου ώστε να μπορείς να το καλέσεις.

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 19:48

κατοπιν ....

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 11 Οκτ 2011 19:49

Βασίζεσαι στο παράδειγμα που σου έδωσα παραπάνω... :-?

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 19:52

Στο directory PC ή στο webserver του providerq
Τι ενοείς οταν λέςκάνεις include την κλάση στο script σου ;

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

Πρόβλημα με την mail()

Δημοσίευση από mrpc » 11 Οκτ 2011 19:56

Και στα δύο...

Στο παράδειγμα παραπάνω, η πρώτη γραμμή:
require_once('../class.phpmailer.php');
κάνει include την phpmailer. Χρειάζεσαι κάτι τέτοιο, ανάλογα βέβαια με το που θα ανεβάσεις την phpmailer εσύ.
Από εκεί και πέρα, βάση του παραδείγματος συνεχίζεις.

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 11 Οκτ 2011 19:58

Σε ευχαριστώ το προσπαθώ και τα λέμε αύριο

atriant
Δημοσιεύσεις: 26
Εγγραφή: 09 Οκτ 2011 18:52
Τοποθεσία: Μυτιλήνη

Πρόβλημα με την mail()

Δημοσίευση από atriant » 12 Οκτ 2011 13:21

Ακολούθησα τις οδηγίες σας. Στο τέλος o browser μου εμφανίζει το μήνυμα SMTP Error: Could not connect to SMTP host.
Το αρχείο μου βάσει των νέων στοιχείων που μου δώσατε είναι το παρακάτω. Παρακαλώ απαντήστε μου εάν είναι σωστό.

c:\xampp\htdocs\sendmail.php
*****************************************************************
<html>
<head>
<title>Sending mail from the form</title>
</head>
<body>

<?php
require_once("lib/PHPMailer/class.phpmailer.php");
// Δημιουργία αντικειμένου PHPMailer
$mail = new PHPMailer();
// Ορισμός χρήσης SMTP με authentication
$mail -> IsSMTP();
$mail -> SMTPAuth = true;
// Στοιχεία για την σύνδεση με τον server
$mail -> Host = "websitemail";
$mail -> Username = "< 1epal-mytil >";
$mail -> Password = "< #23cgilr >";
// Στοιχεία αποστολέα
$mail -> From = "< 1epal-mytil >";
$mail -> FromName = "< Όνομα αποστολέα >";
// Παραλλήπτες
$mail -> AddAddress("1epal-mytil@sch.gr","< Όνομα παραλήπτη >");
// Στοιχεία μηνύματος
$mail -> CharSet = "UTF-8" ;
$mail -> Subject = "< Test >";
$mail -> Body = "<This is a Test>";
// Αποστολή μηνύματος
$mail -> Send();
?>

</body>
</html>

****************************************************************
Τα στοιχεία απο το Sch.gr είναι
Αποστολή email μέσω PHP script
Διακομιστής αλληλογραφίας (Host ή Server) websitemail
Όνομα χρήστη 1epal-mytil
email χρήστη 1epal-mytil@sch.gr
Κατάσταση Ενεργή
****************************************************************

Τα στοιχεία στο Php.ini είναι

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = websitemail
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = 1epal-mytil@sch.gr

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
;sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
************************************************************************

Απάντηση

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

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

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