Προς το περιεχόμενο

Mail Send php File


nitrah

Προτεινόμενες αναρτήσεις

Καλησπέρα ,

έχω σηκώσει ενα 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'; 
    }
?>
 
δοκίμασα να βάλω 
αλλα δεν δούλεψε
 
μπορεί να βοηθήσει κάποιος ?
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν κι έχω μαύρα μεσάνυχτα από php, γιατί δεν καλείς δύο φορές την mail αλλάζοντας ενδιάμεσα τα περιεχόμενα του $email_to.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

$email_to2 =   '[email protected]'; 
if(mail($email_to2, $subject, $message, $headers)){
        echo 'sent to me';    
}else{
        echo 'failed to me'; 
 }

Πολύ απλά ;) Γίνεται και με άλλους τρόπους βέβαια και το σωστότερο θα ήταν να μπαίνεις σε BCC ώστε να στέλνει 1 email και όχι 2 εφόσον είναι ακριβώς το ίδιο περιεχόμενο.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

$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 αν το κάνω έτσι.

Νομίζω ειναι λάθος έτσι οπως μου το λες :/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορεις απλα να βαλεις ενα 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

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και εγώ άσχετος με php αλλά θεωρητικά έχει αρκετά καλό documentation 

 

Οπότε σύμφωνα με το παρακάτω

http://php.net/manual/en/function.mail.php

 

Θα μπορούσες να κάνεις αυτό

 

**Update είδα ότι αναφέρεις ότι το έκανες και δεν δουλεψε , υπάρχει περίπτωση να θέλει κενό μετά το κόμμα?

// Multiple recipients
$to = '[email protected], [email protected]'; // note the comma
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μπορεις απλα να βαλεις ενα 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

Το δοκίμασα και με κενό αλλά τίποτα.. :/

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είναι εύκολο αλλά κανονικά χρειάζεται 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>
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όχι ούτε πάλι πήρα το αποτέλεσμα που θέλουμε....

Στην ουσία είναι το ιδιο με τον δικό μου κώδικα παραπάνω που και σε εκείνο δεν το κάνει...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το δοκίμασα και με κενό αλλά τίποτα.. :/

 

Θα έπρεπε να έχει δουλέψει και με κενό και χωρίς. Εφόσον δε δουλεύει κάτι κάνεις λάθος που δεν καταλαβαίνουμε από τη συζήτηση. Δώσε λοιπόν copy-paste ακριβώς όπως είναι ο κώδικάς σου όταν πας να βάλεις πολλούς παραλήπτες.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

για να ξεκαθαρίσουμε τα πράγματα, το πρόβλημα είναι στον 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
}
?>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Έλεγξε εάν ο webhost σου έχει ενεργή τη mail() function της PHP. Εάν όχι θα πρέπει να γίνεται authentication μέσω SMTP. Για να το κάνεις αυτό εύκολα μπορείς να κάνεις χρήση της βιβλιοθήκης phpmailer.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν ο κώδικος που τρέχει το βάζω παρακάτω.

 

---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';//     
    }
?>

 

πάνω σε αυτόν τον κώδικα ξέρει κάποιος τι να διορθώσω ? Έχει κάποιο λάθος ή είναι αλλού το θέμα ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...