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

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

Δημοσ.

Καλησπέρα στο φορουμ,

 

Κάθομαι και πειραματίζομαι με web development και φτιαχνοντας την προσωπικη σελίδα μου έχω μικροκολλήσει. Έχω μια φόρμα με name, mail, text και αφου ο επισκεπτης τα συμπληρώσει πατάει το Send Message Button και θέλω να μου έρχεται το mail.

 

Υπάρχει η δυνατότητα του actions=mailto:blablabla αλλά θέλω η διαδικασία να γίνεται χωρίς mail client. Για αυτό χρησιμοποιώ ένα script php που να μου κάνει την δουλειά αλλα ενώ ολα φαινονται οκ το mail δεν έρχεται.

 

Παρακάτω παραθέτω τον κώδικα (ο κώδικας δεν ειναι δικος μου αλλα τον κατεβασα και τον παραμετροποιω):

HTML

<article class="container box style3">
				<header>
					<h2>CONTACT FORM</h2>
					<p>Please fill your details</p>
				</header>
				<form method="post" action="sendmail.php">
					<div class="row 50%">
						<div class="6u"><input type="text" class="text" name="name" placeholder="Name" /></div>
						<div class="6u"><input type="text" class="text" name="email" placeholder="Email" /></div>
					</div>
					<div class="row 50%">
						<div class="12u">
							<textarea name="message" placeholder="Message"></textarea>
						</div>
					</div>
					<div class="row">
						<div class="12u">
							<ul class="actions">
								<li><input type="submit" value="Send Message" /></li>
							</ul>
						</div>
					</div>
				</form>
				
</article>

PHP 

<?php
//This php file receives the post vars of the contact page and sends it to a email address

//Settings
$email = '[email protected]';
$subject = '[NAME] has send you a mail';

//Get post variables
$name = $_POST['name'];
$from = $_POST['email'];
$message = $_POST['message'];

//Set the headers and send the mail
$subject = str_replace('[NAME]', $name, $subject);
$headers = 'From: ' .$name .' <'.$from.'>';


mail($email, $subject, $message, $headers);

header('Location: index.html');


?>
Δημοσ.

Σίγουρα έχεις ρυθμίσει σωστά την php για να μπορεί να στείλει mail?

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

SMTP string
Used under Windows only: 
host name or IP address of the SMTP server 
PHP should use for mail sent with the mail() function.

smtp_port int
Used under Windows only:
Number of the port to connect to the server specified with the SMTP setting 
when sending mail with mail(); 
defaults to 25. Only available since PHP 4.3.0.

Τα settings αυτά είναι στο php.ini

Δημοσ.

Στο localhost δεν το βρισκω καν αυτο το κομματι αλλα εκει που ειναι ανεβασμένη η σελίδα λογικά θα ειναι ενεργοποιημένο. Οποτε μαλλον δεν φταιει αυτο.. :/

Δημοσ.

Αν το κανεις σε localhost με wamp τοτε δεν στελνει mail...Εχει καποιες αλλαγες που πρεπει να κανεις στο php.ini και να κατεβασεις το sendmail και να κανεις καποιες αλλαγες παλι στο sendmail.ini αλλα εγω τις ειχα κανει ποσες φορες αλλα δεν εστελνε, δεν ξερω γιατι... 

Σε σερβερ παντως ετσι στελνεις μειλ το εχω δοκιμασει... Οταν παιρνεις τις τιμες απο τα post[] να κανεις πρωτα mysql_real_escape_string($_POST[]) για προστασια απο mysql injection..

Δημοσ.

Στο localhost δεν το βρισκω καν αυτο το κομματι αλλα εκει που ειναι ανεβασμένη η σελίδα λογικά θα ειναι ενεργοποιημένο. Οποτε μαλλον δεν φταιει αυτο.. :/

 

Εκεί που είναι ανεβασμένη η σελίδα τρέχει και smtp server? Τρέξε μια το phpinfo() στον server σου και δες αν υπάρχουν τιμές στα αντίστοιχα settings.

Δημοσ.

Ειναι σε πανεπιστημιακο server οποτε θεωρω πως ναι.. Αλλα δεν μπορω να τρεξω καποια εντολη για να το διαπιστωσω. Κατεφυγα στην λυση με τον mail client μεχρι να λυθει

Δημοσ.

Μπορείς να στείλεις email ακόμα και από localhost αν συνδεθείς με smtp server. Αν χρησιμοποιήσης την default συνάρτηση της php είναι το worst practice ever τα email θα σου πηγαίνουν στα spam. Ακόμα καλύτερα είναι να χρησιμοποιήσης και από τα Mailchimp or Mailgun αν είσαι φυσικά familiar με PHP APIs

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

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

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

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

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

Σύνδεση

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

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