Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry
 
 автор: Xotab   (03.02.2007 в 12:47)   письмо автору
 
 

Поставил себе XAMPP и скачал скрипт на интернет магазин. Поставил, все работает токо когда оформляешь заказ пишет:
Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in C:\Program Files\xampp\htdocs\xampp\shop\includes\order_place.php on line 83

Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in C:\Program Files\xampp\htdocs\xampp\shop\includes\order_place.php on line 88

Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files\xampp\htdocs\xampp\shop\includes\order_place.php:83) in C:\Program Files\xampp\htdocs\xampp\shop\includes\order_place.php on line 94
SMTP сервер работает. Объясните новичку в чем дело.

   
 
 автор: ddhvvn   (03.02.2007 в 12:49)   письмо автору
 
   для: Xotab   (03.02.2007 в 12:47)
 

Проверьте настройки php.ini в секции smtp

   
 
 автор: Trianon   (03.02.2007 в 23:31)   письмо автору
 
   для: Xotab   (03.02.2007 в 12:47)
 

Попробуйте отправить такое же письмо через тот же сервер своим обычным почтовым клиентом.

   
 
 автор: Xotab   (04.02.2007 в 13:44)   письмо автору
 
   для: Trianon   (03.02.2007 в 23:31)
 

Тут код такой что я не пому куда он отпраляет. Поскажите...
<?php
//place order: save to the database, send notifications, gateway processing

if (isset($_GET["order_placement_result"])) //show 'order successful' page
{
$smarty->assign("order_id", $_SESSION["order_id"]);
$smarty->assign("order_amount", $_SESSION["order_amount"]);

$smarty->assign("main_content_template", "order_place.tpl.html");
$smarty->assign("order_is_placed", $_GET["order_placement_result"]);
}
else if (isset($_POST["complete_order"])) //place order
{

//shopping cart items count
$c = 0;
if (isset($_SESSION["gids"]))
for ($j=0; $j<count($_SESSION["gids"]); $j++)
if ($_SESSION["gids"][$j]) $c += $_SESSION["counts"][$j];

//not empty?
if (isset($_SESSION["gids"]) && $c)
{
//insert order into database

db_query("insert into ".ORDERS_TABLE." (order_time, cust_firstname, cust_lastname, cust_email, cust_country, cust_zip, cust_state, cust_city, cust_address, cust_phone) values ('".get_current_time()."','".$_POST["first_name"]."','".$_POST["last_name"]."','".$_POST["email"]."','".$_POST["country"]."','".$_POST["zip"]."','".$_POST["state"]."','".$_POST["city"]."','".$_POST["address"]."','".$_POST["phone"]."');") or die (db_error());
$oid = db_insert_id(); //order ID

//now move shopping cart content to the database

$k = 0; //total cart value
$products = array();
$adm = ""; //order notification for administrator

for ($i=0; $i<count($_SESSION["gids"]); $i++)
if ($_SESSION["gids"][$i])
{
$q = db_query("SELECT name, Price, product_code FROM ".PRODUCTS_TABLE." WHERE productID='".$_SESSION["gids"][$i]."'") or die (db_error());
if ($r = db_fetch_row($q))
{
//product info
$tmp = array(
$_SESSION["gids"][$i],
$r[0],
$_SESSION["counts"][$i],
($_SESSION["counts"][$i]*$r[1])." ".$currency_iso_3,
$r[2]
);

//store ordered products info into database
$articul = trim($tmp[4]) ? "[".$tmp[4]."] " : "";
db_query("insert into ".ORDERED_CARTS_TABLE." (orderID, productID, name, Price, Quantity) values ('$oid', '".$tmp[0]."', '".$articul.$tmp[1]."', '".$r[1]."', '".$tmp[2]."');");

$products[] = $tmp;

//update order amount
$k += $_SESSION["counts"][$i]*$r[1];

//order notification for administrator - update
$adm .= $articul.$tmp[1]." (x".$tmp[2]."): ".$tmp[3]."\n";

}
}

//assign order content to smarty
$smarty_mail->assign("order_content", $products);
$smarty_mail->assign("order_total", $k." ".$currency_iso_3);
$smarty_mail->assign("order_id", $oid);
$smarty_mail->assign("order_shipping_address", $_POST["address"]."\n".$_POST["city"]." ".$_POST["state"]." ".$_POST["zip"]."\n".$_POST["country"]);

$_SESSION["order_id"] = $oid;
$_SESSION["order_amount"] = $k;

//send message to customer
mail($_POST["email"], EMAIL_CUSTOMER_ORDER_NOTIFICATION_SUBJECT, $smarty_mail->fetch("order_notification.tpl.html"), "From: \"".CONF_SHOP_NAME."\"<".CONF_GENERAL_EMAIL.">\n".stripslashes(EMAIL_MESSAGE_PARAMETERS)."\nReturn-path: <".CONF_GENERAL_EMAIL.">");

//notification for administrator
$od = STRING_ORDER_ID.": $oid\n\n";
$adm .= "\n".CUSTOMER_FIRST_NAME." ".$_POST["first_name"]."\n".CUSTOMER_LAST_NAME." ".$_POST["last_name"]."\n".CUSTOMER_ADDRESS.": ".$_POST["country"].", ".$_POST["zip"].", ".$_POST["state"].", ".$_POST["city"].", ".$_POST["address"]."\n".CUSTOMER_PHONE_NUMBER.": ".$_POST["phone"]."\n".CUSTOMER_EMAIL.": ".$_POST["email"];
mail(CONF_ORDERS_EMAIL, EMAIL_ADMIN_ORDER_NOTIFICATION_SUBJECT, $od.$adm, "From: \"".CONF_SHOP_NAME."\"<".CONF_GENERAL_EMAIL.">\n".stripslashes(EMAIL_MESSAGE_PARAMETERS)."\nReturn-path: <".CONF_GENERAL_EMAIL.">");

unset($_SESSION["gids"]);
unset($_SESSION["counts"]);

//show order placement result
header("Location: index.php?order_placement_result=1");

}
else //empty shopping cart
{
header("Location: index.php?shopping_cart=yes");
}
}

?>
это тот самй order_place.php где на 83 строчке отправляется.

   
 
 автор: Xotab   (04.02.2007 в 13:53)   письмо автору
 
   для: Xotab   (04.02.2007 в 13:44)
 

и еще подсажите плз как резервировать бызы данных MySQL ?

   
 
 автор: Xotab   (04.02.2007 в 13:57)   письмо автору
 
   для: Xotab   (04.02.2007 в 13:53)
 

Вот кусок PHP.ini относящийся к smtp:
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
что тут надо изменить?
стоит Mercury Mail SMTP and POP3 Server

   
 
 автор: dobryy   (04.02.2007 в 22:49)   письмо автору
 
   для: Xotab   (04.02.2007 в 13:57)
 

XAMPP ге поддерживает отправку почты, но кажется, если запустить MercuryMail, то он сохраняет письма куда-то... :)

>>и еще подсажите плз как резервировать бызы данных MySQL ?
Вы имеет виду создавать БД? Если да, то с помощью консоля, ПхпМайАдмина или любого другого клиента БД.


mail($_POST["email"], EMAIL_CUSTOMER_ORDER_NOTIFICATION_SUBJECT, $smarty_mail->fetch("order_notification.tpl.html"), "From: \"".CONF_SHOP_NAME."\"<".CONF_GENERAL_EMAIL.">\n".stripslashes(EMAIL_MESSAGE_PARAMETERS)."\nReturn-path: <".CONF_GENERAL_EMAIL.">");

отправляет на имейл из пост массива

   
 
 автор: Xotab   (05.02.2007 в 10:59)   письмо автору
 
   для: dobryy   (04.02.2007 в 22:49)
 

Про резерв БД я имел ввиду сохранить в каком либо зашифрованном виде уже существующую базу данных, и в случае чего с помощью ето шифрованной копии можно будет ее восстановить, а также перенести на другой комп в другую копию БД.

   
 
 автор: Xotab   (05.02.2007 в 11:00)   письмо автору
 
   для: dobryy   (04.02.2007 в 22:49)
 

Подскажите , что установить для отправки почты и как его связать с апаче.

   
 
 автор: Xotab   (06.02.2007 в 23:13)   письмо автору
 
   для: Xotab   (03.02.2007 в 12:47)
 

народ ответьте плз.

   
 
 автор: Trianon   (06.02.2007 в 23:27)   письмо автору
 
   для: Xotab   (06.02.2007 в 23:13)
 

Скажу честно, я не очень себе представляю как настраивать kerio - просто не приходилось.
И совершенно не представляю, зачем нужно было бы ставить почтовый сервер на локальную машину. Для отладки вроде как вполне хватает денверовской почтовой заглушки.
Но если вопрос ставится так, как его ставите Вы - то вот Вам ответ.

Вам нужно пытаться настраивать почтовый сервер. Именно почтовый. Kerio, или что там у Вас в его качестве. Настраивать до состояния, когда Вы сможете своей любимой клиентской почтовой программой (Outlook Express, The Bat, Eudora Mail, или что Вы предпочитаете использовать) - именно ей, а не скриптом - отправлять через этот сервер письма. Наружу.
И только после этого браться за настройку скрипта так,чтоб он работал как почтовый клиент.

Между прочим, чтобы настраивать реальный почтовый сервер, требуется изрядная квалификация. Поэтому, если есть возможность эту работу поручить специалисту, лучше так и сделать.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования