Грешки в код

kriss

Registered
Има ли някъде грешки в този код за изпращане на имейл, защото ми изписва че е изпратен, а нищо не се получава..
PHP:
<?php 
include('config.php');
$to=$mymail; 
$msg=htmlspecialchars($_GET["message"]); 
$headers = 'From: '.$_GET["from"]; 
$name=$_GET['name']; 
$subject=$_GET['subject'];
if($subject==null){$subject='--- Няма тема ---';}
$msg="\nMessage from: ".$name."\r\nwith email address: ".$headers."\r\n".$msg; 
if( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/", $_GET['from'])) 
{die('<div class="err"><div>Грешен мейл адрес!</div></div>');}
if(empty($msg)){die('<div class="err"><div>Попълни съобщение!</div></div>');}else{
if(empty($name)){die('<div class="err"><div>Попълни името си!</div></div>');}else{
echo 'Съобщението изпратено успешно'; 
mail($to, $subject, $msg, $headers);
} 
}
?>
пп: пускам го на споделен хостинг, поддържащ SMTP
 
header-ите ти са грешни :) даже ги нямаш не че са грешни :)
PHP:
$headers = "From: " . $_GET["from"];
$headers .= "<" . $mymail. ">\r\n";
$headers .= "Reply-To: " . $mymail. "\r\n";
$headers .= "Return-Path: " . $mymail;
$headers .= "Content-type: text/pain; charset=utf8";
 
Ev0luti0N каза:
header-ите ти са грешни :) даже ги нямаш не че са грешни :)
PHP:
$headers = "From: " . $_GET["from"];
$headers .= "<" . $mymail. ">\r\n";
$headers .= "Reply-To: " . $mymail. "\r\n";
$headers .= "Return-Path: " . $mymail;
$headers .= "Content-type: text/pain; charset=utf8";
пак не изпраща..
 
PHP:
<?php
$to = 'tvoqt mail';
$mail = 'ivan_ivanov@abv.bg';
$from = 'Ivan Ivanov';

$headers = "From: " . $from;
$headers .= "<" . $mail . ">\r\n";
$headers .= "Reply-To: " . $mail . "\r\n";
$headers .= "Return-Path: " . $mail;
$headers .= "Content-type: text/pain; charset=utf8";
mail($to, "Test Subject", "Test Message", $headers);
?>
Заместо "tvoqt mail" с твоят майл на който искаш да получиш съобщението и кажи резултата.
 
Ev0luti0N каза:
PHP:
<?php
$to = 'tvoqt mail';
$mail = 'ivan_ivanov@abv.bg';
$from = 'Ivan Ivanov';

$headers = "From: " . $from;
$headers .= "<" . $mail . ">\r\n";
$headers .= "Reply-To: " . $mail . "\r\n";
$headers .= "Return-Path: " . $mail;
$headers .= "Content-type: text/pain; charset=utf8";
mail($to, "Test Subject", "Test Message", $headers);
?>
Заместо "tvoqt mail" с твоят майл на който искаш да получиш съобщението и кажи резултата.
е това го праща но не праща от моя код :@
 
$to=$mymail; тук трябва да е твоя имейл. Трябва да добавиш и хедърите, които ти даде колегата.
 
tedo96 каза:
$to=$mymail; тук трябва да е твоя имейл. Трябва да добавиш и хедърите, които ти даде колегата.
$mymail съм го задал в config.php, който съм инклуднал в началото.
Хедърите също съм ги задал
 
напиши echo $mymail и виж дали ти изкарва майла, защото може и да не може да го пронесе :)
 
добрее... малко редакция на кода и излезе това:
PHP:
<?php echo$lang[imeil]; ?>: <b><?php echo$mymail; ?></b><br />
<?php echo$lang[skaip]; ?>: <b><?php echo$myskype; ?></b>
<?php 
if(isset($_POST['submit'])){
$security = $_POST['captcha']; 
if($_SESSION['captcha'] == md5($security)) { 
$to=$mymail; 
$msgt=htmlspecialchars($_POST["message"]); 
$headers = "From: " . $_POST["from"];
$headers .= "<" . $mymail. ">\r\n";
$headers .= "Reply-To: " . $mymail. "\r\n";
$headers .= "Return-Path: " . $mymail;
$headers .= "Content-type: text/pain; charset=utf8";
$name=$_POST['name']; 
$subject=$_POST['subject'];
if($subject==null or empty($subject)){$subject='Имейл от контактната форма';}
$msg=$msgt; 

if( !preg_match( "/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/", $_POST['from'])){echo('<div class="err"><div>Грешен мейл адрес!</div></div>');}
else{

if(empty($msg)){echo('<div class="err"><div>Попълни съобщение!</div></div>');}else{

if(empty($name)){echo('<div class="err"><div>Попълни името си!</div></div>');}else{

echo '<div class="done"><div>Съобщението изпратено успешно</div></div>'; 
mail($to, $subject, $msg, $headers);

}
}
}
}
else
{
echo '<div class="err"><div>Грешно въведен код за сигурност!</div></div>';
}
}
?>
<form method="post" action="" >
<fieldset style="border:1px solid #CC0001;padding-left:10px;padding-bottom:10px;padding-top:10px;"> 
<legend> <b><?php echo$lang[mailforma]; ?></b> </legend> 
<div id="msg"></div> 
<?php echo$lang[ime]; ?><br /><input type="text" name="name" style="width:400px;" /><br /> 
<?php echo$lang[tema]; ?><br /><input type="text" name="subject" style="width:400px;" /><br /> 
<?php echo$lang[imeil]; ?><br /><input type="text" name="from" style="width:400px;" /><br /> 
<?php echo$lang[s1ob6tenie]; ?><br /><textarea name="message" class="txtr" style="width:400px;height:100px;" cols="20"></textarea><br /> 
Код за сигурност: <img src="captcha.php" /><input type="text" name="captcha" /><br />
<input type="submit" name="submit" value="<?php echo$lang[izprati_s]; ?>" /> 
</fieldset> 
</form>
пак повтарям - $mymail е зададено, и има SMTP
 

Back
Горе