προβλημα με αποστολη mail

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

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

kat_sm
Δημοσιεύσεις: 27
Εγγραφή: 19 Σεπ 2009 00:25

προβλημα με αποστολη mail

Δημοσίευση από kat_sm » 03 Οκτ 2009 16:26

καλησπερα
εκανα μια δοκιμη και εκανα οσα ειπατε σε pc που εχει xp και παρατηρησα οτι δουλευει κανονικα. Αλλα στο laptop που εχω vista και εκει θα εχω τη δουλεια μου το ιδιο ακριβως πραγμα δεν το τρεχει.
καμια ιδεα?
για να μην κανω format γιατι δεν ξερω κιολας αν μπορω να βαλω xp στο laptop

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

προβλημα με αποστολη mail

Δημοσίευση από vassilism » 03 Οκτ 2009 17:07

kat_sm έγραψε:καμια ιδεα?
Δοκίμασε και το xampp.

kat_sm
Δημοσιεύσεις: 27
Εγγραφή: 19 Σεπ 2009 00:25

προβλημα με αποστολη mail

Δημοσίευση από kat_sm » 03 Οκτ 2009 17:10

σε εχασα τελειος τωρα :). Τι ειναι αυτο δηλαδη τι ακριβως να κανω?



kat_sm
Δημοσιεύσεις: 27
Εγγραφή: 19 Σεπ 2009 00:25

προβλημα με αποστολη mail

Δημοσίευση από kat_sm » 08 Οκτ 2009 22:59

εχω δοκιμασει και το xampp και δεν λειτουργει. .
καμια αλλη ιδεα?

kat_sm
Δημοσιεύσεις: 27
Εγγραφή: 19 Σεπ 2009 00:25

προβλημα με αποστολη mail

Δημοσίευση από kat_sm » 16 Οκτ 2009 00:02

Βρηκα τη λυση στο προβλημα με την αποστολη του mail που ειχα. Για να γνωριζουν και αλλοι που πιθανον εχουν το ιδιο προβλημα, αυτο που εφταιγε ηταν οτι δεν ειχα ενα εγκυρο ονομα για τον υπολογιστη μου.κενα και παυλες δεν επιτρεπονται..

dimpap
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2009 15:28

προβλημα με αποστολη mail

Δημοσίευση από dimpap » 17 Οκτ 2009 01:07

kat_sm έγραψε:Βρηκα τη λυση στο προβλημα με την αποστολη του mail που ειχα. Για να γνωριζουν και αλλοι που πιθανον εχουν το ιδιο προβλημα, αυτο που εφταιγε ηταν οτι δεν ειχα ενα εγκυρο ονομα για τον υπολογιστη μου.κενα και παυλες δεν επιτρεπονται..
Φίλε μου μπορείς να μου πείς τι ακριβός έκανες? Γιατί έχω και εγώ το ίδιο πρόβλημα τρέχω και εγώτο xampp και μου βγάζει αυτό το μήνυμα

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampplite\htdocs\webfiles\contact.php on line 1021

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

προβλημα με αποστολη mail

Δημοσίευση από vassilism » 17 Οκτ 2009 01:42

Κάνε έναν κόπο να διαβάσεις αυτό το θέμα από την αρχή (σελίδα 1) προσεκτικά και αν δεν βρεις λύση εδώ ήμαστε.

dimpap
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2009 15:28

προβλημα με αποστολη mail

Δημοσίευση από dimpap » 17 Οκτ 2009 02:01

Λοιπόν παιδιά εδώ είναι το scrip που έχω βάλει για την φόρμα επικοινωνίας.
Όταν συμπληρώσω όλα τα στοιχεία και στείλω το email μου βγάζει αυτό
Εικόνα

Αυτο το script το πήρα έτοιμο και απλός άλλαξα κάποιες ρυθμίσεις
<?php

############################################################################

# A Project of TNET Services, Inc. and Saratoga-Weather.org (WD-World template set)

############################################################################

#

# Project: Sample Included Website Design

# Module: sample.php

# Purpose: Sample Page

# Authors: Kevin W. Reed <kreed@tnet.com>

# TNET Services, Inc.

#

# Copyright: (c) 1992-2007 Copyright TNET Services, Inc.

############################################################################

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

############################################################################

# This document uses Tab 4 Settings

############################################################################

require_once("Settings.php");

require_once("common.php");

############################################################################

$TITLE= $SITE['organ'] . " - Φόρμα επικοινωνίας";

$showGizmo = true; // set to false to exclude the gizmo

$SITE['charset'] = 'ISO-8859-7'; // character set for webpages (iso-8859-1=latin)

include("top.php");

############################################################################

?>

</head>

<body>

<?php

############################################################################

include("header.php");

############################################################################

include("menubar.php");

############################################################################

?>



<div id="main-copy">



<h1></h1>

<?php

# mchallis says "session_start is required for the captcha-image to function,

# and must be at the very top of the PHP script."

# session_start() must be processed before any other output

# or you might get a warning "headers already sent".

if( !isset( $_SESSION ) ) {

session_start();

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-7" />

<meta name="description" content="Contact Form" />

<meta name="keywords" content="Contact form, contact, form" />

<meta name="language" content="en-us" />



<title>Επικοινωνία</title>

<style type="text/css" media="screen" >

/* Sample CSS */

#contactform {

font-family: verdana;

width: 600px;

}



#contactform h1 {

font-size: 130%;

}



#contactform img {

border: 0px;

}



#contactform .errors {

color: #ff0000;

}



#contactform .correct {

color: black;

}



#contactform legend {

font-size: 120%;

font-weight: bold;

}



#contactform .title {

color: black;

font-weight: bold;

font-size: 90%;

margin-top: 2px;

margin-bottom: 5px;

}



#contactform .field {

color: black;

font-size: 90%;

margin-bottom: 7px;

}



#contactform .small {

font-size: 100%;

}



#contactform .thanks {

margin-top: 15px;

color: green;

font-size: 105%;

margin-bottom: 15px;

}

</style>

</head>

<body>



<!-- To add into your own page TRIM beginning here -->



<div id="contactform">



<h1>Επικοινωνία</h1>



<?php

//error_reporting(E_ALL ^ E_NOTICE); // Report all errors except E_NOTICE warnings

//error_reporting(E_ALL); // Report all errors and warnings (very strict, use for testing only)

//error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED) // E_DEPRECATED was added in 5.3

//ini_set('display_errors', 1); // turn error reporting on

//ini_set('log_errors', 1); // log errors

//ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); // where to log errors

/*

PHP script by Mike Challis, www.642weather.com/weather/scripts.php

Script available at http://www.642weather.com/weather/scrip ... t-form.zip

Required library:

http://www.642weather.com/weather/scrip ... eimage.zip

Contact Mike - http://www.642weather.com/weather/contact_us.php



Version: 1.26 - 01-Sep-2009 see changelog.txt for changes



You are free to use and modify the code



This php code provided "as is", and Long Beach Weather (Michael Challis)

disclaims any and all warranties, whether express or implied, including

(without limitation) any implied warranties of merchantability or

fitness for a particular purpose.



Copyright (C) 2008 Mike Challis (http://www.642weather.com/weather/contact_us.php)



This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.



This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.



You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA



PHP version 4.3.9 or greater is recommended

NOTE: This script requires PHP installed using GD image support.

http://us2.php.net/manual/en/ref.image.php



*/

$contact_version = 'Version: 1.25 - 01-Sep-2009 - contact.php';



#################

// begin settings

#################



// ALWAYS configure these options before use

// ALWAYS test your contact form after making changes



// Email Contacts

// If you need to add more, carefully copy a line and add it below,

// modify the CONTACT and EMAIL values inside the single quotes.

// If you only want one, delete or comment out all but one array('CONTACT'... line

// Be careful not to break the array syntax

// Add as many contacts as you need, the drop down list will be made automatically



$contacts = array ( // <-- this must remain before your contact array



//array('CONTACT' => 'Joe Somebody', 'EMAIL' => 'joesomebody@yourwebsite.com'),

array('CONTACT' => 'Webmaster', 'EMAIL' => 'info@meteokar.gr'),



); // <-- this must remain after your contact array



// Email address(s) to receive Bcc (Blind Carbon Copy) messages

// Yes you can send to multiple emails, both methods are acceptable

// $email_address_bcc = 'user@example.com';

// $email_address_bcc = 'user@example.com, anotheruser@example.com';

$email_address_bcc = 'info@meteokar.gr'; // optional



// Normally this setting will be left blank, like this: $email_on_this_domain = '';

// Some Web hosts do not allow your PHP to send email unless the From: email address

// is from the same domain. If your form does not seem to be sending any email, then

// set this to your email address on the SAME domain as your web site as a possible workaround

$email_on_this_domain = ''; // optional



// Name of this file

// If you rename this file, you must change this or the form will not work

$file_name = 'contact.php';



// Site Name / Title

$sitename = 'KARDITSA Weather';



// Site Domain without the http://www like this: $domain = '642weather.com';

// Can be a single domain: $domain = '642weather.com';

// Can be an array of domains: $domain = array('642weather.com','someothersite.com');

$domain = 'pap5.no-ip.org';



// Make sure the form was posted from your host name only.

// SET $domain_protect =1; for ON, $domain_protect = 0; for OFF.

// This is a security feature to prevent spammers from posting from files hosted on other domain names

// "Input Forbidden" message will result if host does not match

$domain_protect = 1;



// Double E-mail entry is optional

// enabling this requires user to enter their email two times on the contact form.

// SET $enable_double_email = 1; ON, $enable_double_email = 0; for OFF.

$enable_double_email = 0;



// CAPTCHA is optional but recommended to prevent spam bots from spamming your contact form

// SET $enable_captcha = 1; ON, $enable_captcha = 0; for OFF.

$enable_captcha = 1;



// CAPTCHA library [path]/[folder] (do not end with slash!)

// Suggested use: You can have one captcha-secureimage library in the root of your Web site

// sharing many contact forms in other folders as long as you correctly set the relative [path] for each contact form

$captcha_library = './captcha-secureimage';



// You can ban known IP addresses

// SET $enable_ip_bans = 1; ON, $enable_ip_bans = 0; for OFF.

$enable_ip_bans = 0;



// Add IP addresses to ban here: (be sure to SET $enable_ip_bans = 1; to use this feature

$banned_ips = array(

'22.22.22.22', // example (add, change, or remove as needed)

'33.33.33.33', // example (add, change, or remove as needed)

);



// Wordwrap E-Mail message text so lines are no longer than 70 characters.

// SET $wrap_message = 1; ON, $wrap_message = 0; for OFF.

$wrap_message = 1;



// Content-language for email message header

$ctf_language = 'en-us';



// Charset for email message header

$ctf_charset = 'iso-8859-7';



// Content-transfer-encoding for email message header

$ctf_encoding = 'quoted-printable';



// OPTIONAL: You can change the default SMTP settings below...

// NOTE most servers do not need these settings changed!!!

$ctf_ini_set = "no"; // "yes" to enable this feature (ONLY if needed)

$ctf_smtp = "localhost"; // sometimes mail.yourdomain.com Confirm with your host

$ctf_smtp_port = "25"; // Confirm with your host

$ctf_smtp_username = "you"; // your mail username. If you do not know, ask your host

$ctf_smtp_password = "123456"; // your mail password. If you do not know, ask your host

$ctf_sendmail_from = "you@yourdomain.com"; // Your email

$ctf_sendmail_path = "/usr/sbin/sendmail -t -i"; // If different, ask host



// Redirect to Home Page after message is sent

// SET $ctf_redirect_enable = 1; ON, $ctf_redirect_enable = 0; for OFF.

$ctf_redirect_enable = 0;

// Used for the delay timer once the message has been sent

$ctf_redirect_timeout = 5; // time in seconds to wait before loading another Web page

// Web page to send the user to after the time has expired

$ctf_redirect_url = 'wxindex.php';



// The $welcome_intro is what gets printed when the form is first presented.

// It is not printed when there is an input error and not printed after the form is completed

$welcome_intro = <<<EOT



<p>

<b>Υποδείξεις και σχόλια είναι πάντα ευπρόσδεκτα..<br />

Από που είστε?

Πως μας βρήκατε?</b>

</p>



<p>

Για γρήγορη εξυπηρέτηση, παρακαλώ συμπληρώστε το όνομα σας και την διεύθυνση του ηλεκτρονικού ταχυδρομείου σας (email)

για να λάβετε την απάντηση σας.

</p>



<p>

</p>



EOT;

// do not remove the above EOT line



// The $thank_you is what gets printed after the form is sent.

$thank_you = <<<EOT



<h1>Message Sent</h1>



<p align="left">

Το μήνυμα σας στάλθηκε με επιτυχία, ευχαριστώ.

</p>



EOT;

// do not remove the above EOT line



#################

// end settings

#################



##### #####

# Do not alter any code below this point in the script or it may not run properly.

##### #####



if ($ctf_redirect_enable) {



$thank_you .= <<<EOT



<script type="text/javascript" language="javascript">

<!--

var count=$ctf_redirect_timeout;

var time;

function timedCount() {

document.title='Redirecting in ' + count + ' seconds';

count=count-1;

time=setTimeout("timedCount()",1000);

if (count==-1) {

clearTimeout(time);

document.title='Redirecting ...';

self.location='$ctf_redirect_url';

}

}

window.onload=timedCount;

//-->

</script>



<img src="./ctf-loading.gif" alt="Returning to Home Page" />&nbsp;&nbsp;

Returning to Home Page...



EOT;

// do not remove the above EOT line



}



// Test for some required things, print error message if not OK.

$requires = 'ok';

if(!function_exists('mail')) {

echo '<p class="errors">ERROR: The PHP mail() function is not enabled in PHP!</p>';

echo '<p>Contact your web host and ask them why the mail() function is not enabled for PHP.</p>';

$requires = 'fail';

}



if ($enable_captcha) {

if ( !extension_loaded("gd") ) {

echo '<p class="errors">ERROR: GD image support not detected in PHP!</p>';

echo '<p>Contact your web host and ask them why GD image support is not enabled for PHP.</p>';

$requires = 'fail';

}

if ( !function_exists("imagepng") ) {

echo '<p class="errors">ERROR: imagepng function not detected in PHP!</p>';

echo '<p>Contact your web host and ask them why the imagepng function is not enabled for PHP.</p>';

$requires = 'fail';

}

if ( !file_exists("$captcha_library/securimage.php") ) {

echo '<p class="errors">ERROR: captcha_library not found</p>';

echo '<p>Did you install the required captcha_library?<br />

Required library:<br />

http://www.642weather.com/weather/scrip ... age.zip<br />

Check that it is installed and the setting $captcha_library file path is set properly inside this script.</p>';

$requires = 'fail';

}

}



if ($requires == 'fail') {

exit;

}



// add numbered keys starting with 1 to the $contacts array

$cont = array();

$ct = 1;

foreach ($contacts as $v) {

$cont["$ct"] = $v;

$ct++;

}

$contacts = $cont;

unset($cont);



// initialize vars

$error = 0;

$error_print = '';

$message_sent = 0;

$mail_to = '';

$to_contact = '';



$name = '';

$email = '';

$email2 = '';

$subject = '';

$text = '';

$code = '';

// add another field here like above



$error_captcha = '';

$error_contact = '';

$error_name = '';

$error_email = '';

$error_email2 = '';

$error_subject = '';

$error_text = '';

// add another field here like above



// process form now

if (isset($_POST['action']) && ($_POST['action'] == 'send')) {



// check all input variables

$cid = ctf_clean_input($_POST['CID']);

if(empty($cid)) {

$error = 1;

$error_contact = 'Selecting a contact is required.';

}

else if (!isset($contacts[$cid]['CONTACT'])) {

$error = 1;

$error_contact = 'Requested Contact not found.';

}

$mail_to = ctf_clean_input($contacts[$cid]['EMAIL']);

$to_contact = ctf_clean_input($contacts[$cid]['CONTACT']);





$name = ctf_name_case(ctf_clean_input($_POST['name']));

$email = strtolower(ctf_clean_input($_POST['email']));

if ($enable_double_email) {

$email2 = strtolower(ctf_clean_input($_POST['email2']));

}

$subject = ctf_name_case(ctf_clean_input($_POST['subject']));

$text = ctf_clean_input($_POST['text']);

$code = ctf_clean_input($_POST['code']);

// add another field here like above



// check posted input for email injection attempts

// fights common spammer tactics

// look for newline injections

ctf_forbidifnewlines($name);

ctf_forbidifnewlines($email);

if ($enable_double_email) {

ctf_forbidifnewlines($email2);

}

ctf_forbidifnewlines($subject);



// look for lots of other injections

$forbidden = 0;

$forbidden = ctf_spamcheckpost();

if ($forbidden) {

echo "<h1>Input Forbidden</h1>";

exit;

}



// check for banned ip

if( $enable_ip_bans && in_array($_SERVER['REMOTE_ADDR'], $banned_ips) ) {

echo "<h1>Your IP is Banned</h1>";

exit;

}



// CAPS Decapitator

if (!preg_match("/[a-z]/", $text)) {

$text = ctf_name_case($text);

}



if(empty($name)) {

$error = 1;

$error_name = 'Your name is required.';

}

if (!ctf_validate_email($email)) {

$error = 1;

$error_email = 'A proper e-mail address is required.';

}

if ($enable_double_email && !ctf_validate_email($email2)) {

$error = 1;

$error_email2 = 'A proper e-mail address is required.';

}

if ($enable_double_email && ($email != $email2) ) {

$error = 1;

$error_double_email = 'The two e-mail addresses did not match, please enter again.';

}

if(empty($subject)) {

$error = 1;

$error_subject = 'Subject title is required.';

}

if(empty($text)) {

$error = 1;

$error_text = 'Enquiry text is required.';

}

// add another field here like 4 lines above (only if you want it to be required)



// begin captcha check if enabled

// captcha is optional but recommended to prevent spam bots from spamming your contact form

if ($enable_captcha) {

if(empty($code)) {

$error = 1;

$error_captcha = 'A CAPTCHA phrase is required.';

} else {

include "$captcha_library/securimage.php";

$img = new Securimage();

$valid = $img->check("$code");

// Check, that the right CAPTCHA password has been entered, display an error message otherwise.

if($valid == true) {

// ok can continue

} else {

$error = 1;

$error_captcha = 'You entered in the wrong Captcha phrase.<br />Sometimes the letters are hard to read. Please try again';

}

}

} // end if enable captcha

// end captcha check



if (!$error) {



// ok to send the email, so prepare the email message

// lines separated by \n on Unix and \r\n on Windows

if (!defined('PHP_EOL')) define ('PHP_EOL', strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\r\n" : "\n");



$subj = "$sitename contact: $subject";



$msg = "Sent from $sitename contact form



To: $to_contact



From:

$name

$email



Message:

$text



";

// add another field here (in the $msg code above)



// add some info about sender to the email message

$userdomain = '';

$userdomain = gethostbyaddr($_SERVER['REMOTE_ADDR']);

$user_info_string = "Sent from (ip address): ".$_SERVER['REMOTE_ADDR']." ($userdomain)" . PHP_EOL;

$user_info_string .= "Coming from (referer): ".$_SERVER['HTTP_REFERER'] . PHP_EOL;

$user_info_string .= "Using (user agent): ".ctf_clean_input($_SERVER['HTTP_USER_AGENT']) . PHP_EOL . PHP_EOL;

$msg .= $user_info_string;



// wordwrap email message

if ($wrap_message) {

$msg = wordwrap($msg, 70);

}



// remove some characters that mess up From: $name <$email>

// remove single quote, double quote, semicolon, colon, comma

$name = ctf_name_case(preg_replace(array ( '/\'/', '/"/', '/;/', '/:/', '/,/' ), '', $name));



// prepare the email header

if ($email_on_this_domain != '') {

$header = "From: $email_on_this_domain" . PHP_EOL;

} else {

$header = "From: $name <$email>" . PHP_EOL;

}

if ($email_address_bcc !='') $header .= "Bcc: " . $email_address_bcc . PHP_EOL;

$header .= "Reply-To: $email" . PHP_EOL;

$header .= "Return-Path: $email" . PHP_EOL;

$header .= 'MIME-Version: 1.0' . PHP_EOL;

$header .= 'Content-type: text/plain; Content-language: '.$ctf_language.'; charset="'.$ctf_charset.'"' . PHP_EOL;

$header .= 'Content-transfer-encoding: '.$ctf_encoding . PHP_EOL;



// send the email

if(strtolower($ctf_ini_set) == "yes") {

ini_set("SMTP", $ctf_smtp);

ini_set("smtp_port", $ctf_smtp_port);

ini_set("smtp_password", $ctf_smtp_password);

ini_set("smtp_username", $ctf_smtp_username);

ini_set("sendmail_from", $ctf_sendmail_from);

ini_set("sendmail_path", $ctf_sendmail_path);

}

ini_set('sendmail_from', $email); // needed for some windows servers

mail($mail_to,$subj,$msg,$header);

ini_restore('sendmail_from'); // needed for some windows servers



$message_sent = 1;



} // end if ! error

} // end if posted action = send



if($message_sent) {

// thank you mesage is printed here

echo $thank_you;

echo "\n</div>";

}else{

if (!$error) {

// welcome intro is printed here unless message is sent

echo $welcome_intro;

}



echo "<!-- $contact_version -->\n";

echo "<!-- http://www.642weather.com/weather/scripts.php -->\n\n";



echo '

<form action="' . ctf_output_string($file_name) . '" id="contact_us" method="post">



<fieldset>

<legend>Φόρμα επικοινωνίας</legend>';



// print any input errors

if ($error) {

$error_print .= '<p class="errors">INPUT ERROR: Παρακαλώ κάντε τις διορθώσεις και προσπαθήστε ξανά.</p>'."\n";

echo $error_print;

}







if (count($contacts) > 1) {



echo ' <div class="title">

<label for="CID">Department to Contact:</label>

</div> '.echo_if_error($error_contact).'

<div class="field">

<select id="CID" name="CID">

';



echo ' <option value="">Select</option>'."\n";



if ( !isset($cid) ) {

$cid = $_GET['CID'];

}



$selected = '';



foreach ($contacts as $k => $v) {

if (!empty($cid) && $cid == $k) {

$selected = 'selected="selected"';

}

echo ' <option value="' . $k . '" ' . $selected . '>' . $v[CONTACT] . '</option>' . "\n";

$selected = '';

}



echo ' </select>

</div>' . "\n";

}

else {



echo '<input type="hidden" name="CID" value="1" />'."\n";



}



echo '

<div class="title">

<label for="name">Ονοματεπώνυμο: </label>

</div> '.echo_if_error($error_name).'

<div class="field">

<input type="text" id="name" name="name" value="' . ctf_output_string($name) .'" size="40" />

<br /><span class="small">Υποχρεωτικά το ονοματεπώνυμο σας</span>

</div>';

if ($enable_double_email) {

echo'

<div class="title">

<label for="email">Διεύθυνση ηλεκτρ. ταχυδρομείου (e-mail): </label>

</div> '.echo_if_error($error_email).'

'.echo_if_error($error_double_email).'

<div class="field">

<input type="text" id="email" name="email" value="' . ctf_output_string($email) . '" size="40" />

</div>

<div class="title">

<label for="email2">E-Mail Address again: </label>

</div> '.echo_if_error($error_email2).'

<div class="field">

<input type="text" id="email2" name="email2" value="' . ctf_output_string($email2) . '" size="40" />

<br /><span class="small">Please enter your E-mail Address a second time to ensure is correct.<br />

A few people mistype their e-mail address, making it impossible for us to respond.</span>

</div>

';



} else {

echo'

<div class="title">

<label for="email">Διεύθυνση ηλεκτρ. ταχυδρομείου (e-mail): </label>

</div> '.echo_if_error($error_email).'

<div class="field">

<input type="text" id="email" name="email" value="' . ctf_output_string($email) . '" size="40" />

<br /><span class="small">Παρακαλώ πληκτρολογήστε ένα έγκυρο e-mail και βεβαιωθείτε ότι είναι σωστό.<br />

</span>

</div>';



}







echo ' <div class="title">

<label for="subject">Τίτλος: </label>

</div> '.echo_if_error($error_subject).'

<div class="field">

<input type="text" id="subject" name="subject" value="' . ctf_output_string($subject) . '" size="40" />

</div>



<!-- add another field here (similar to the title and field div code above

be sure to change the label, id, name, string name, and error_[string name]) -->



<div class="title">

<label for="enquiry">Κείμενο: </label>

</div> '.echo_if_error($error_text).'



<div class="field">

<textarea id="enquiry" name="text" cols="50" rows="15">' . ctf_output_string($text) . '</textarea>

<br />

<span class="small">(Προσωπικά στοιχεία που περιέχονται σε αυτό το μήνυμα θα χρησιμοποιηθούν μόνο για να λάβετε την απάντηση.)</span>

</div>

';



# captcha is optional but recommended to prevent spam bots from spamming your contact form

if ($enable_captcha) {



echo '

<div class="title">

<label for="code">Παρακαλώ εισάγετε τα παρακάτω γράμματα-ψηφία ακριβώς όπως είναι στην φωτογραφία:</label>

</div> '.echo_if_error($error_captcha).'

<div class="field">

<input id="code" name="code" type="text" />

</div>



<div style="width: 430px; height: 55px">

<img id="siimage" style="padding-right: 5px; border-style: none; float:left;"

src="'.$captcha_library.'/securimage_show.php?sid='.md5(uniqid(time())).'"

alt="CAPTCHA Image" title="CAPTCHA Image" />

<a href="'.$captcha_library.'/securimage_play.php" title="Audible Version of CAPTCHA">

<img src="'.$captcha_library.'/images/audio_icon.gif" alt="Audio Version"

style="border-style: none; vertical-align:top; border-style: none;" onclick="this.blur()" /></a><br />

<a href="#" title="Refresh Image" style="border-style: none"

onclick="document.getElementById(\'siimage\').src = \''.$captcha_library.'/securimage_show.php?sid=\' + Math.random(); return false">

<img src="'.$captcha_library.'/images/refresh.gif" alt="Reload Image"

style="border-style: none; vertical-align:bottom;" onclick="this.blur()" /></a>

</div>';



}



echo '

<p>

<input type="hidden" name="action" value="send" />

<input type="submit" value="Αποστολή" />

</p>

<div class="thanks">

Ευχαριστούμε για τον χρόνο σας και την υποβολή σχόλιο-αίτημα σας.

</div>



</fieldset>

</form>

</div>';



}



function echo_if_error($this_error){

global $error;

if ($error) {

if (!empty($this_error)) {

return '<span class="errors">ERROR: ' . $this_error . '</span>'."\n";

}

}

}



// functions for protecting and validating form input vars

function ctf_clean_input($string) {

if (is_string($string)) {

return trim(ctf_sanitize_string(strip_tags(ctf_stripslashes($string))));

} elseif (is_array($string)) {

reset($string);

while (list($key, $value) = each($string)) {

$string[$key] = ctf_clean_input($value);

}

return $string;

} else {

return $string;

}

}



function ctf_sanitize_string($string) {

$string = preg_replace("/ +/", ' ', trim($string));

return preg_replace("/[<>]/", '_', $string);

}



function ctf_stripslashes($string) {

if (get_magic_quotes_gpc()) {

return stripslashes($string);

} else {

return $string;

}

}



function ctf_output_string($string) {

return str_replace('"', '&quot;', $string);

}





// A function knowing about name case (i.e. caps on McDonald etc)

// $name = name_case($name);

function ctf_name_case($name) {

if ($name == '') return '';

$break = 0;

$newname = strtoupper($name[0]);

for ($i=1; $i < strlen($name); $i++) {

$subed = substr($name, $i, 1);

if (((ord($subed) > 64) && (ord($subed) < 123)) ||

((ord($subed) > 48) && (ord($subed) < 58))) {

$word_check = substr($name, $i - 2, 2);

if (!strcasecmp($word_check, 'Mc') || !strcasecmp($word_check, "O'")) {

$newname .= strtoupper($subed);

}else if ($break){

$newname .= strtoupper($subed);

}else{

$newname .= strtolower($subed);

}

$break = 0;

}else{

// not a letter - a boundary

$newname .= $subed;

$break = 1;

}

}

return $newname;

}



// checks proper email syntax (not perfect, none of these are, but this is the best I can find)

function ctf_validate_email($email) {



//check for all the non-printable codes in the standard ASCII set,

//including null bytes and newlines, and exit immediately if any are found.

if (preg_match("/[\\000-\\037]/",$email)) {

return false;

}

// regular expression used to perform the email check

// http://fightingforalostcause.net/misc/2 ... -regex.php

//$pattern = "/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|asia|cat|jobs|tel|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i";

//$pattern = "/^([_a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/i";

$pattern = "/^[-_a-z0-9\'+*$^&%=~!?{}]++(?:\.[-_a-z0-9\'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.])\.[a-z]{2,6}|\d{1,3}(?:\.\d{1,3}){3})(?::\d++)?$/iD";

if(!preg_match($pattern, $email)){

return false;

}

// Validate the domain exists with a DNS check

// if the checks cannot be made (soft fail over to true)

list($user,$domain) = explode('@',$email);

if( function_exists('checkdnsrr') ) {

if( !checkdnsrr($domain,"MX") ) { // Linux: PHP 4.3.0 and higher & Windows: PHP 5.3.0 and higher

return false;

}

}

else if( function_exists("getmxrr") ) {

if ( !getmxrr($domain, $mxhosts) ) {

return false;

}

}

return true;

} // end function ctf_validate_email



function ctf_forbidifnewlines($input) {

if (

stristr($input, "\r") !== false ||

stristr($input, "\n") !== false ||

stristr($input, "%0a") !== false ||

stristr($input, "%0d") !== false) {

echo "<h1>Input Forbidden</h1>";

exit;

}

}



function ctf_spamcheckpost() {

global $domain, $domain_protect;



if(!isset($_SERVER['HTTP_USER_AGENT'])){

return 1;

}



// Make sure the form was indeed POST'ed:

// (requires your html form to use: action="post")

if(!$_SERVER['REQUEST_METHOD'] == "POST"){

return 2;

}



// Make sure the form was posted from an approved host name.

if ($domain_protect) {

// Host names from where the form is authorized to be posted from:

if (is_array($domain)) {

$domain = array_map(strtolower, $domain);

$authHosts = $domain;

} else {

$domain = strtolower($domain);

$authHosts = array("$domain");

}



// Where have we been posted from?

if( isset($_SERVER['HTTP_REFERER']) and trim($_SERVER['HTTP_REFERER']) != '' ) {

$fromArray = parse_url(strtolower($_SERVER['HTTP_REFERER']));

// Test to see if the $fromArray used www to get here.

$wwwUsed = strpos($fromArray['host'], "www.");

if(!in_array(($wwwUsed === false ? $fromArray['host'] : substr(stristr($fromArray['host'], '.'), 1)), $authHosts)){

return 3;

}

}

} // end if domain protect



// check posted input for email injection attempts

// Check for these common exploits

// if you edit any of these do not break the syntax of the regex

$input_expl = "/(content-type|mime-version|content-transfer-encoding|to:|bcc:|cc:|document.cookie|document.write|onmouse|onkey|onclick|onload)/i";

// Loop through each POST'ed value and test if it contains one of the exploits fromn $input_expl:

foreach($_POST as $k => $v){

$v = strtolower($v);

if( preg_match($input_expl, $v) ){

return 4;

}

}



return 0;

}

?>



<!-- To add into your own page TRIM ending here -->



</body>

</html>

<p></p>



<p> </p>

</div><!-- end main-copy -->



<?php

############################################################################

include("footer.php");

############################################################################

# End of Page

############################################################################

?>

dimpap
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2009 15:28

προβλημα με αποστολη mail

Δημοσίευση από dimpap » 17 Οκτ 2009 14:50

Ρε παιδιά μήπως ξέρετε πώς μπορώ να ενεργοποιήσω το mercusy? πατάω start και δεν τρέχει.

Εικόνα

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1952
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

προβλημα με αποστολη mail

Δημοσίευση από vassilism » 17 Οκτ 2009 16:08

Ας το πάμε σιγά σιγά.

1 Το script το τρέχει τοπικά με το xampp σωστά?
2 Το αρχείο php.ini το ξέρεις?

Βρίσκετε στο φάκελο C:\xampplite\php\php.ini
Πρέπει να ανοίξεις αυτό το αρχείο και στην γραμμή 701 που λέει SMTP = να του δώσεις τον παροχέα σου.

Δηλαδή αν η σύνδεσή σου είναι otenet τότε θα βάλεις SMTP = mailgate.otenet.gr
Αν έχεις forthnet τότε θα βάλεις SMTP = mailgate.forthnet.gr

Μετά θα το αποθηκεύσεις και θα το κλείσεις.

Αφού τα κάνεις όλα αυτά θα κάνεις ένα restart τον apache και μετά θα δοκιμάσεις να τρέξεις πάλι το script σου.

dimpap
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2009 15:28

προβλημα με αποστολη mail

Δημοσίευση από dimpap » 17 Οκτ 2009 22:50

vassilism έγραψε:Ας το πάμε σιγά σιγά.

1 Το script το τρέχει τοπικά με το xampp σωστά?
2 Το αρχείο php.ini το ξέρεις?

Βρίσκετε στο φάκελο C:\xampplite\php\php.ini
Πρέπει να ανοίξεις αυτό το αρχείο και στην γραμμή 701 που λέει SMTP = να του δώσεις τον παροχέα σου.

Δηλαδή αν η σύνδεσή σου είναι otenet τότε θα βάλεις SMTP = mailgate.otenet.gr
Αν έχεις forthnet τότε θα βάλεις SMTP = mailgate.forthnet.gr

Μετά θα το αποθηκεύσεις και θα το κλείσεις.

Αφού τα κάνεις όλα αυτά θα κάνεις ένα restart τον apache και μετά θα δοκιμάσεις να τρέξεις πάλι το script σου.
Φίλε μου ευχαριστώ για την βοήθεια.
Εμένα ο παροχέας μου είναι yahoo
και έβαλα SMTP = smtp.mail.yahoo.com
είναι σωστό?
έκανα save και ξανα έτρεξα πάλι το script αλλά πάλι τα ίδια.

mariosal
Honorary Member
Δημοσιεύσεις: 1473
Εγγραφή: 09 Νοέμ 2007 23:55

προβλημα με αποστολη mail

Δημοσίευση από mariosal » 17 Οκτ 2009 23:56

Ποιος είναι ο ISP σου;

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

προβλημα με αποστολη mail

Δημοσίευση από Apostolis_38 » 18 Οκτ 2009 00:27


Απάντηση

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

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

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