|
|
|
| Помогите переделать скрипт:
<?
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> ".$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>
|
программа отправляет письмо на ящик который указан при регистрации домена.
Как отправлять на тот ящик который мне нужен?
Как сделать чтобы сообщение об отправки писалось на русском?
Заранее благодарен | |
|
|
|
|
|
|
|
для: vechnost
(27.09.2009 в 21:43)
| | В строке
<?php
mail($_REQUEST['recipient'], $subject,
?>
|
Вместо $_REQUEST['recipient'] подставьте строку с нужным вам e-mail
<?php
mail("somebody@somewhere.ru", $subject,
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(27.09.2009 в 23:04)
| | пишет:
Parse error: syntax error, unexpected '<' in /home/host800696/td-trio.ru/htdocs/www/contact.php on line 31 | |
|
|
|
|
|
|
|
для: vechnost
(27.09.2009 в 23:17)
| | Вы кавычку удалили, которая там была, я так думаю.
Приглядитесь | |
|
|
|
|
|
|
|
для: neadekvat
(27.09.2009 в 23:26)
| | Спасибо большое за помощь
действительно после $subject, стояли кавычки
ща всё заработало
осталось тока чтобы по русски писал что письмо отправленно | |
|
|
|
|
|
|
|
для: 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) иногда может быть полезным | |
|
|
|
|
|
|
|
для: tvv123456
(27.09.2009 в 23:46)
| | а для чего менять кодировку если есть строка :
$headers.='Content-type: text/html; charset=windows-1251'
|
на ящик после отправки приходит :
Ваш текст: 1
Организация: 1
телефон: 1 | |
|
|
|
|
|
|
|
для: vechnost
(27.09.2009 в 23:59)
| | это явно utf-8
Ваш текст: 1
Организация: 1
телефон: 1
|
| |
|
|
|
|
|
|
|
для: vechnost
(27.09.2009 в 23:59)
| | Ваша строка определяет кодировку сообщения которое отправляется. А я вам предложил написать кодировку для выдачи результатов на вашем сайте! | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 20:17)
| | кодировка для выдачи результатов сайта задается отнюдь не в файле результата.
Для этого существует директива addDefaultCharset | |
|
|
|
|
|
|
|
для: 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
%>
|
может в нём тоже что-то нужно поменять | |
|
|
|
|
|
|
|
для: Trianon
(28.09.2009 в 20:42)
| | Да я просто советовал прописать в html коде мета-тэг | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 21:33)
| | когда я в РНР прописываю тег который вы посоветовали то у меня пишет вместо "сообщение отправленно" какието каракули ,а без этого тега пишет по русски а на почту приходят каракули | |
|
|
|
|
|
|
|
для: vechnost
(28.09.2009 в 21:39)
| | У вас в $headers видать плохо кодировка определена стоит 1251 а сообщение отправляется в юникоде в итоге для нормальной работы надо чтобы получилось в итоге
mail ($address,$subject,$message,'from:***@mail.ru',"Content-type:text/plain; Charset=windows-1251\r\n");
|
| |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 21:43)
| | я извиняюсь за навязчивость а можно это как нибудь исправить? | |
|
|
|
|
|
|
|
для: 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");
|
только адрес не забудте поменять как вам указывали выше в первом ответе | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 22:15)
| | теперь на почту я получил
<html>
<head>
<title>Contact letter</title>
</head>
<body>
<br>
<strong>Ваш текст:</strong> еыерырырыерр<br><strong>Организация:</strong> ыврекр<br><strong>телефон:</strong> выим<br>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: vechnost
(28.09.2009 в 22:30)
| | блин ну замените plain на html(там где Content-type), я просто за сегодняшний день утомился очень могу мелочи и упускать, а так если честно могли бы посмотреть что и где изменилось и подумать от чего это может зависеть | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 22:51)
| | всеравно на ящик прихдит вот это
<html>
<head>
<title>Contact letter</title>
</head>
<body>
<br>
<strong>Ваш текст:</strong> 1<br>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: 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> и все теги уберите) | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 22:15)
| | А это ничего, что поле Content-Type без Content-Transfer-Encoding и что самое главное MIME-Version - большого смысла не несет? | |
|
|
|
|
|
|
|
для: Trianon
(28.09.2009 в 22:32)
| | А можете пожалуйста обяснить причем здесь Content-Transfer-Encoding? http://kunegin.narod.ru/ref2/email/mime03.htm я тут почитал но как для этого примера не понял как сделать. | |
|
|
|
|
|
|
|
для: tvv123456
(28.09.2009 в 22:59)
| | да при том же.
Content-Type указывает тип содержимого, и применяемый набор символов.
Content-Transfer-Encoding определяет методику формирования этого содержимого в виде потока байт для передачи его по каналу связи.
И тот и другой параметр по умолчанию - не самый подходящий для местной политики.
Ни тот, ни другой параметр, по большому счету, вне спецификации Multipurpose Internet Mail Extensions смысла не имеет. То, что письмо сформировано с учетом этой спецификации, указывется параметром MIME-Version.
Просто Вы сказали А, но сказать Б почему-то постеснялись. | |
|
|
|
|
|
|
|
для: Trianon
(28.09.2009 в 23:16)
| | Уважаемый Trianon просматривая этот пост вы стараетесь указать на косяки tvv123456
а не могли бы вы помочь решить проблему?
Буду очень признателен | |
|
|
|
|
|
|
|
для: vechnost
(28.09.2009 в 23:25)
| | В разделе "примеры php-скриптов" портала лежит скрипт отправки писем... не без моего участия скроенный,.. к сожалению.
Что Вы имеете в виду под помощью?
Что Вы имеете в виду под признательностью?
А косяки... да.
Не люблю косяки. | |
|
|
|
|
|
|
|
для: vechnost
(28.09.2009 в 23:25)
| | Почитайте это, может что нибудь и пригодится. | |
|
|
|
|
|
|
|
для: Николай2357
(28.09.2009 в 23:46)
| | огромное спасибо за ссылку буду изучать | |
|
|
|