nitrah Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Καλησπέρα , έχω σηκώσει ενα Site και στην φόρμα επικοινωνίας έχω βάλει ενα php αρχείο για να κάνει το Send με τα στοιχεία που έχει βάλει ο πελάτης. Στο mail του Domain ([email protected]) στέλνει κανονικά το mail. πως μπορώ να βάλω να το στέλνει αυτόματα και στο gmail μου ? ο Κώδικας ειναι <?php //we need to get our variables first $email_to = '[email protected]'; $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $headers = "From: $email\r\n"; $headers .= "Reply-To: $email\r\n"; if(mail($email_to, $subject, $message, $headers)){ echo 'sent'; }else{ echo 'failed'; } ?> δοκίμασα να βάλω $email_to = '[email protected],[email protected]'; αλλα δεν δούλεψε μπορεί να βοηθήσει κάποιος ?
Επισκέπτης Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Αν κι έχω μαύρα μεσάνυχτα από php, γιατί δεν καλείς δύο φορές την mail αλλάζοντας ενδιάμεσα τα περιεχόμενα του $email_to.
lionheart82 Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 $email_to2 = '[email protected]'; if(mail($email_to2, $subject, $message, $headers)){ echo 'sent to me'; }else{ echo 'failed to me'; } Πολύ απλά Γίνεται και με άλλους τρόπους βέβαια και το σωστότερο θα ήταν να μπαίνεις σε BCC ώστε να στέλνει 1 email και όχι 2 εφόσον είναι ακριβώς το ίδιο περιεχόμενο.
nitrah Δημοσ. 12 Δεκεμβρίου 2016 Μέλος Δημοσ. 12 Δεκεμβρίου 2016 $email_to2 = '[email protected]'; if(mail($email_to2, $subject, $message, $headers)){ echo 'sent to me'; }else{ echo 'failed to me'; } Πολύ απλά Γίνεται και με άλλους τρόπους βέβαια και το σωστότερο θα ήταν να μπαίνεις σε BCC ώστε να στέλνει 1 email και όχι 2 εφόσον είναι ακριβώς το ίδιο περιεχόμενο. μου βγάζει error αν το κάνω έτσι. Νομίζω ειναι λάθος έτσι οπως μου το λες :/
dominotrix Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Μπορεις απλα να βαλεις ενα forwarding μεσα απο τις ρυθμισεις του webmail για το email account που πηγαινει αρχικα το μηνυμα. Δε χρειαζεται να γινει μεσα απο την PHP το forward. Στο google εψαξες; http://stackoverflow.com/questions/9525415/php-email-sending-bcc http://stackoverflow.com/questions/22161733/add-bcc-php-mail-function http://stackoverflow.com/questions/14238207/php-mail-bcc-multiple-recipients http://www.w3schools.com/php/func_mail_mail.asp
tsofras Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Και εγώ άσχετος με php αλλά θεωρητικά έχει αρκετά καλό documentation Οπότε σύμφωνα με το παρακάτω http://php.net/manual/en/function.mail.php Θα μπορούσες να κάνεις αυτό **Update είδα ότι αναφέρεις ότι το έκανες και δεν δουλεψε , υπάρχει περίπτωση να θέλει κενό μετά το κόμμα? // Multiple recipients $to = '[email protected], [email protected]'; // note the comma
nitrah Δημοσ. 12 Δεκεμβρίου 2016 Μέλος Δημοσ. 12 Δεκεμβρίου 2016 Μπορεις απλα να βαλεις ενα forwarding μεσα απο τις ρυθμισεις του webmail για το email account που πηγαινει αρχικα το μηνυμα. Δε χρειαζεται να γινει μεσα απο την PHP το forward. Στο google εψαξες; http://stackoverflow.com/questions/9525415/php-email-sending-bcc http://stackoverflow.com/questions/22161733/add-bcc-php-mail-function http://stackoverflow.com/questions/14238207/php-mail-bcc-multiple-recipients http://www.w3schools.com/php/func_mail_mail.asp Εχω κάνει ρύθμιση απο το WebMail του Host αλλα δεν το κάνει Forward για κάποιο λόγο.... Και εγώ άσχετος με php αλλά θεωρητικά έχει αρκετά καλό documentation Οπότε σύμφωνα με το παρακάτω http://php.net/manual/en/function.mail.php Θα μπορούσες να κάνεις αυτό **Update είδα ότι αναφέρεις ότι το έκανες και δεν δουλεψε , υπάρχει περίπτωση να θέλει κενό μετά το κόμμα? // Multiple recipients $to = '[email protected], [email protected]'; // note the comma Το δοκίμασα και με κενό αλλά τίποτα.. :/
tzotzosgr Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Είναι εύκολο αλλά κανονικά χρειάζεται PHPmailer για BCC Σου γράφω όλο τον κώδικα μαζί με την φόρμα html bootstrap και λειτουργεί! <?php if (isset($_POST["submit"])) { $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $human = intval($_POST['human']); $from = 'Φόρμα επικοινωνίας'; $to = '[email protected], [email protected]'; $subject = 'Μήνυμα από την φόρμα επικοινωνίας!'; $body ="Από: $name\n E-Mail: $email\n Μήνυμα:\n $message"; // Check if name has been entered if (!$_POST['name']) { $errName = 'Παρακαλώ εισάγετε το όνομά σας'; } // Check if email has been entered and is valid if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $errEmail = 'Παρακαλώ εισάγετε μια έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου'; } //Check if message has been entered if (!$_POST['message']) { $errMessage = 'Παρακαλώ εισάγετε το μήνυμά σας'; } //Check if simple anti-bot test is correct if ($human !== 5) { $errHuman = 'Η απάντηση δεν είναι σωστή!'; } // If there are no errors, send the email if (!$errName && !$errEmail && !$errMessage && !$errHuman) { if (mail ($to, $subject, $body, $from)) { $result='<div class="alert alert-success">Σας ευχαριστούμε! Σύντομα θα επικοινωνήσουμε μαζί σας</div>'; } else { $result='<div class="alert alert-danger">Συγνώμη υπήρξε σφάλμα κατά την αποστολή του μηνύματός σας. Παρακαλώ δοκιμάστε ξανά αργότερα.</div>'; } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content="Φόρμα επικοινωνίας!"> <meta name="author" content="tzotzosgr"> <title>Φόρμα επικοινωνίας!</title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <h1 class="page-header text-center">Φόρμα επικοινωνίας!</h1> <form class="form-horizontal" role="form" method="post" action="index.php"> <div class="form-group"> <label for="name" class="col-sm-2 control-label">Όνομα</label> <div class="col-sm-10"> <input type="text" class="form-control" id="name" name="name" placeholder="Όνομα" value="<?php echo htmlspecialchars($_POST['name']); ?>"> <?php echo "<p class='text-danger'>$errName</p>";?> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label">Email</label> <div class="col-sm-10"> <input type="email" class="form-control" id="email" name="email" placeholder="[email protected]" value="<?php echo htmlspecialchars($_POST['email']); ?>"> <?php echo "<p class='text-danger'>$errEmail</p>";?> </div> </div> <div class="form-group"> <label for="message" class="col-sm-2 control-label">Μήνυμα</label> <div class="col-sm-10"> <textarea class="form-control" rows="4" name="message"> <?php echo htmlspecialchars($_POST['message']);?> </textarea> <?php echo "<p class='text-danger'>$errMessage</p>";?> </div> </div> <div class="form-group"> <label for="human" class="col-sm-2 control-label">2 + 3 = ?</label> <div class="col-sm-10"> <input type="text" class="form-control" id="human" name="human" placeholder="Η απάντησή σας"> <?php echo "<p class='text-danger'>$errHuman</p>";?> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> <input id="submit" name="submit" type="submit" value="Αποστολή του μηνύματος" class="btn btn-primary"> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> <?php echo $result; ?> </div> </div> </form> </div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> </body> </html>
nitrah Δημοσ. 12 Δεκεμβρίου 2016 Μέλος Δημοσ. 12 Δεκεμβρίου 2016 Όχι ούτε πάλι πήρα το αποτέλεσμα που θέλουμε.... Στην ουσία είναι το ιδιο με τον δικό μου κώδικα παραπάνω που και σε εκείνο δεν το κάνει...
defacer Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 Το δοκίμασα και με κενό αλλά τίποτα.. :/ Θα έπρεπε να έχει δουλέψει και με κενό και χωρίς. Εφόσον δε δουλεύει κάτι κάνεις λάθος που δεν καταλαβαίνουμε από τη συζήτηση. Δώσε λοιπόν copy-paste ακριβώς όπως είναι ο κώδικάς σου όταν πας να βάλεις πολλούς παραλήπτες.
tzotzosgr Δημοσ. 12 Δεκεμβρίου 2016 Δημοσ. 12 Δεκεμβρίου 2016 για να ξεκαθαρίσουμε τα πράγματα, το πρόβλημα είναι στον server του! ο υπάρχον κώδικας που μου έστειλε δούλεψε στον δικό μου server ο κώδικας του είναι αυτός και στέλνει κανονικά και στα 2 emails send.php <?php //we need to get our variables first $email_to = '[email protected], [email protected]'; //the address to which the email will be sent $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; /*the $header variable is for the additional headers in the mail function, we are asigning 2 values, first one is FROM and the second one is REPLY-TO. That way when we want to reply the email gmail(or yahoo or hotmail...) will know who are we replying to. */ $headers = "From: $email\r\n"; $headers .= "Reply-To: $email\r\n"; if(mail($email_to, $subject, $message, $headers)){ echo 'sent'; // we are sending this text to the ajax request telling it that the mail is sent.. }else{ echo 'failed';// ... or this one to tell it that it wasn't sent } ?>
tsofras Δημοσ. 13 Δεκεμβρίου 2016 Δημοσ. 13 Δεκεμβρίου 2016 Να πω κάτι γιατί ποτέ δεν ξέρεις, κοίταξες στα spam αν έχει έρθει το email? Δοκίμασες να βάλεις κάποιο άλλο email ώς δεύτερο?
CyberCr33p Δημοσ. 13 Δεκεμβρίου 2016 Δημοσ. 13 Δεκεμβρίου 2016 Έλεγξε εάν ο webhost σου έχει ενεργή τη mail() function της PHP. Εάν όχι θα πρέπει να γίνεται authentication μέσω SMTP. Για να το κάνεις αυτό εύκολα μπορείς να κάνεις χρήση της βιβλιοθήκης phpmailer.
nitrah Δημοσ. 13 Δεκεμβρίου 2016 Μέλος Δημοσ. 13 Δεκεμβρίου 2016 Λοιπόν ο κώδικος που τρέχει το βάζω παρακάτω. ---Index - HTML --- <div class="contact-form col-md-6 wow fadeInUp" data-wow-duration="500ms" data-wow-delay="300ms"> <form id="contact-form" method="post" action="sendmail.php" role="form"> <div class="form-group"> <input type="text" placeholder="Όνομα" class="form-control" name="name" id="name"> </div> <div class="form-group"> <input type="email" placeholder="Email" class="form-control" name="email" id="email"> </div> <div class="form-group"> <input type="text" placeholder="Θέμα" class="form-control" name="subject" id="subject"> </div> <div class="form-group"> <textarea rows="6" placeholder="Μήνυμα" class="form-control" name="message" id="message"></textarea> </div> <div id="mail-success" class="success"> Ευχαριστούμε για την επικοινωνία. Σύντομα θα επικοινωνήσουμε μαζί σας. </div> <div id="mail-fail" class="error"> Η αποστολή του μηνύματος δεν ήταν δυνατή </div> <div id="cf-submit"> <input type="submit" id="contact-submit" class="btn btn-transparent" value="Αποστολή"> </div> </form> </div> ----Mail Php File----- <?php $email_to = '[email protected], [email protected]'; $name = $_POST['name']; $email = $_POST['email']; $subject = $_POST['subject']; $message = $_POST['message']; $headers = "From: $email\r\n"; $headers .= "Reply-To: $email\r\n"; if(mail($email_to, $subject, $message, $headers)){ echo 'sent'; // }else{ echo 'failed';// } ?> πάνω σε αυτόν τον κώδικα ξέρει κάποιος τι να διορθώσω ? Έχει κάποιο λάθος ή είναι αλλού το θέμα ?
tzotzosgr Δημοσ. 13 Δεκεμβρίου 2016 Δημοσ. 13 Δεκεμβρίου 2016 @nitrahs όπως σου είπα και μέσω σκυπε μιλα με το παπάκι για να ενεργοποιήσουν PHPmail
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα