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

Форум PHP

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

 

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

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

тема: Отправка писем
 
 автор: vechnost   (27.09.2009 в 21:43)   письмо автору
 
 

Помогите переделать скрипт:
<?
Error_Reporting
(E_ALL & ~E_NOTICE);

 while (
$request current($_REQUEST)) {
     if (
key($_REQUEST)!='recipient') {
        
$pre_array=split ("&777&",  $request);
        
$post_vars[key($_REQUEST)][0]=$pre_array[0];
        
$post_vars[key($_REQUEST)][1]=$pre_array[1];
    }
    
next($_REQUEST);
}



reset($post_vars);


$subject="From ".$post_vars['your_name'][0] ;
$headers"From: ".$post_vars['your_email'][0] ."\n";
 
$headers.='Content-type: text/html; charset=windows-1251';
 
$message='';
  while (
$mess current($post_vars)) {
      if ((
key($post_vars)!="i") && (key($post_vars)!="your_email") && (key($post_vars)!="your_name")) {

         
$message.="<strong>".$mess[1]."</strong>&nbsp;&nbsp;&nbsp;".$mess[0]."<br>";
    }
    
next($post_vars);
 }

mail($_REQUEST['recipient'], $subject,  "
<html>
<head>
 <title>Contact letter</title>
</head>
<body>
<br>
  "
.$message."
</body>
</html>" 
$headers);
echo (
"Your message was successfully sent!");

?>
<script>
    resizeTo(300, 300);
</script>

программа отправляет письмо на ящик который указан при регистрации домена.
Как отправлять на тот ящик который мне нужен?
Как сделать чтобы сообщение об отправки писалось на русском?
Заранее благодарен

  Ответить  
 
 автор: cheops   (27.09.2009 в 23:04)   письмо автору
 
   для: vechnost   (27.09.2009 в 21:43)
 

В строке
<?php
  mail
($_REQUEST['recipient'], $subject
?>

Вместо $_REQUEST['recipient'] подставьте строку с нужным вам e-mail
<?php
  mail
("somebody@somewhere.ru"$subject
?>

  Ответить  
 
 автор: vechnost   (27.09.2009 в 23:17)   письмо автору
 
   для: cheops   (27.09.2009 в 23:04)
 

пишет:
Parse error: syntax error, unexpected '<' in /home/host800696/td-trio.ru/htdocs/www/contact.php on line 31

  Ответить  
 
 автор: neadekvat   (27.09.2009 в 23:26)   письмо автору
 
   для: vechnost   (27.09.2009 в 23:17)
 

Вы кавычку удалили, которая там была, я так думаю.
Приглядитесь

  Ответить  
 
 автор: vechnost   (27.09.2009 в 23:35)   письмо автору
 
   для: neadekvat   (27.09.2009 в 23:26)
 

Спасибо большое за помощь
действительно после $subject, стояли кавычки
ща всё заработало
осталось тока чтобы по русски писал что письмо отправленно

  Ответить  
 
 автор: tvv123456   (27.09.2009 в 23:46)   письмо автору
 
   для: vechnost   (27.09.2009 в 21:43)
 

А чтобы по русски писалось замените:

echo ("Your message was successfully sent!");

на:
echo ("Любое сообщение какое нужно");

Кстати кодировку желательно в html прописать <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />(между тегами head) иногда может быть полезным

  Ответить  
 
 автор: vechnost   (27.09.2009 в 23:59)   письмо автору
 
   для: tvv123456   (27.09.2009 в 23:46)
 

а для чего менять кодировку если есть строка :
$headers.='Content-type: text/html; charset=windows-1251'

на ящик после отправки приходит :
Ваш текст: 1
Организация: 1
телефон: 1

  Ответить  
 
 автор: Trianon   (28.09.2009 в 00:32)   письмо автору
 
   для: vechnost   (27.09.2009 в 23:59)
 

это явно utf-8
Ваш текст: 1
Организация: 1
телефон: 1

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 20:17)   письмо автору
 
   для: vechnost   (27.09.2009 в 23:59)
 

Ваша строка определяет кодировку сообщения которое отправляется. А я вам предложил написать кодировку для выдачи результатов на вашем сайте!

  Ответить  
 
 автор: Trianon   (28.09.2009 в 20:42)   письмо автору
 
   для: tvv123456   (28.09.2009 в 20:17)
 

кодировка для выдачи результатов сайта задается отнюдь не в файле результата.
Для этого существует директива addDefaultCharset

  Ответить  
 
 автор: vechnost   (28.09.2009 в 21:27)   письмо автору
 
   для: Trianon   (28.09.2009 в 20:42)
 

имеется ещё такой файлик contact.asp
<%
    for i=1 to 7
         message=Request("message")
    next
         message=message + Request("message")    
        smtpServer = "enter your SMTP SERVER HERE"
        smtpPort = 25
        

        name = Request("Your_Name:")
        Set myMail = CreateObject("CDO.Message") 
        myMail.Subject = "from " & name
        myMail.From = Request("Your_Email:")
        myMail.To = Request("recipient")
        myMail.HTMLBody = "<html><head><title>Contact letter</title></head><body><br>" & message & "</body></html>"
        myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = smtpServer
        myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = smtpPort
        myMail.Configuration.Fields.Update 
        myMail.Send
    
%>




может в нём тоже что-то нужно поменять

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 21:33)   письмо автору
 
   для: Trianon   (28.09.2009 в 20:42)
 

Да я просто советовал прописать в html коде мета-тэг

  Ответить  
 
 автор: vechnost   (28.09.2009 в 21:39)   письмо автору
 
   для: tvv123456   (28.09.2009 в 21:33)
 

когда я в РНР прописываю тег который вы посоветовали то у меня пишет вместо "сообщение отправленно" какието каракули ,а без этого тега пишет по русски а на почту приходят каракули

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 21:43)   письмо автору
 
   для: vechnost   (28.09.2009 в 21:39)
 

У вас в $headers видать плохо кодировка определена стоит 1251 а сообщение отправляется в юникоде в итоге для нормальной работы надо чтобы получилось в итоге

mail ($address,$subject,$message,'from:***@mail.ru',"Content-type:text/plain; Charset=windows-1251\r\n");

  Ответить  
 
 автор: vechnost   (28.09.2009 в 21:47)   письмо автору
 
   для: tvv123456   (28.09.2009 в 21:43)
 

я извиняюсь за навязчивость а можно это как нибудь исправить?

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 22:15)   письмо автору
 
   для: vechnost   (28.09.2009 в 21:47)
 

вот это преобразуйте:
mail($_REQUEST['recipient'], $subject,  " 
<html> 
<head> 
 <title>Contact letter</title> 
</head> 
<body> 
<br> 
  ".$message." 
</body> 
</html>" , $headers);

в

$from=$post_vars['your_email'][0];
mail($_REQUEST['recipient'], $subject,  " 
<html> 
<head> 
 <title>Contact letter</title> 
</head> 
<body> 
<br> 
  ".$message." 
</body> 
</html>" , 'from:'.$from,"Content-type:text/plain; Charset=windows-1251\r\n");

только адрес не забудте поменять как вам указывали выше в первом ответе

  Ответить  
 
 автор: vechnost   (28.09.2009 в 22:30)   письмо автору
 
   для: tvv123456   (28.09.2009 в 22:15)
 

теперь на почту я получил
<html>
<head>
<title>Contact letter</title>
</head>
<body>
<br>
<strong>Ваш текст:</strong>&nbsp;&nbsp;&nbsp;еыерырырыерр<br><strong>Организация:</strong>&nbsp;&nbsp;&nbsp;ыврекр<br><strong>телефон:</strong>&nbsp;&nbsp;&nbsp;выим<br>
</body>
</html>

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 22:51)   письмо автору
 
   для: vechnost   (28.09.2009 в 22:30)
 

блин ну замените plain на html(там где Content-type), я просто за сегодняшний день утомился очень могу мелочи и упускать, а так если честно могли бы посмотреть что и где изменилось и подумать от чего это может зависеть

  Ответить  
 
 автор: vechnost   (28.09.2009 в 22:58)   письмо автору
 
   для: tvv123456   (28.09.2009 в 22:51)
 

всеравно на ящик прихдит вот это
<html>
<head>
<title>Contact letter</title>
</head>
<body>
<br>
<strong>Ваш текст:</strong>&nbsp;&nbsp;&nbsp;1<br>
</body>
</html>

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 23:03)   письмо автору
 
   для: vechnost   (28.09.2009 в 22:58)
 

Давайте с вами послушаем Тriаnon и вы почитаете http://kunegin.narod.ru/ref2/email/mime03.htm,
сам я уже не в состоянии всего доброго. а так я думаю вам вполне подойдет:

$from=$post_vars['your_email'][0]; 
mail(что то тут про мыло, $subject,$message, 'from:'.$from,"Content-type:text/plain; Charset=windows-1251\r\n"); 

подправте просто $message(переносы обозначаються \n вместо <br> и все теги уберите)

  Ответить  
 
 автор: Trianon   (28.09.2009 в 22:32)   письмо автору
 
   для: tvv123456   (28.09.2009 в 22:15)
 

А это ничего, что поле Content-Type без Content-Transfer-Encoding и что самое главное MIME-Version - большого смысла не несет?

  Ответить  
 
 автор: tvv123456   (28.09.2009 в 22:59)   письмо автору
 
   для: Trianon   (28.09.2009 в 22:32)
 

А можете пожалуйста обяснить причем здесь Content-Transfer-Encoding? http://kunegin.narod.ru/ref2/email/mime03.htm я тут почитал но как для этого примера не понял как сделать.

  Ответить  
 
 автор: Trianon   (28.09.2009 в 23:16)   письмо автору
 
   для: tvv123456   (28.09.2009 в 22:59)
 

да при том же.
Content-Type указывает тип содержимого, и применяемый набор символов.
Content-Transfer-Encoding определяет методику формирования этого содержимого в виде потока байт для передачи его по каналу связи.
И тот и другой параметр по умолчанию - не самый подходящий для местной политики.
Ни тот, ни другой параметр, по большому счету, вне спецификации Multipurpose Internet Mail Extensions смысла не имеет. То, что письмо сформировано с учетом этой спецификации, указывется параметром MIME-Version.

Просто Вы сказали А, но сказать Б почему-то постеснялись.

  Ответить  
 
 автор: vechnost   (28.09.2009 в 23:25)   письмо автору
 
   для: Trianon   (28.09.2009 в 23:16)
 

Уважаемый Trianon просматривая этот пост вы стараетесь указать на косяки tvv123456
а не могли бы вы помочь решить проблему?
Буду очень признателен

  Ответить  
 
 автор: Trianon   (28.09.2009 в 23:40)   письмо автору
 
   для: vechnost   (28.09.2009 в 23:25)
 

В разделе "примеры php-скриптов" портала лежит скрипт отправки писем... не без моего участия скроенный,.. к сожалению.

Что Вы имеете в виду под помощью?
Что Вы имеете в виду под признательностью?

А косяки... да.
Не люблю косяки.

  Ответить  
 
 автор: Николай2357   (28.09.2009 в 23:46)   письмо автору
 
   для: vechnost   (28.09.2009 в 23:25)
 

Почитайте это, может что нибудь и пригодится.

  Ответить  
 
 автор: vechnost   (28.09.2009 в 23:54)   письмо автору
 
   для: Николай2357   (28.09.2009 в 23:46)
 

огромное спасибо за ссылку буду изучать

  Ответить  
Rambler's Top100
вверх

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