|
|
|
| Здравствуйте. Подскажите пожалуйста, почему такой код
$subject= "Вопрос с сайта ".$_SERVER['SERVER_NAME'];
$from="Администратор";
$message="Привет"
$message=convert_cyr_string($message,"w","k");
$subject=convert_cyr_string($subject,"w","k");
$from= convert_cyr_string($from,"w","k");
$headers = "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html;\r\n";
$headers.= "From: $from<admin@".$_SERVER['SERVER_NAME'].">\r\n";
Mail(mail@mail.ru, $subject, $message,$headers);
|
вызывает ошибку
Warning: mail(): Bad parameters to mail() function, mail not sent
PHP4 на сервере
Спасибо | |
|
|
|
|
|
|
|
для: shest
(26.05.2008 в 20:48)
| | Заключите e-mail в кавычки
<?php
mail("mail@mail.ru", $subject, $message,$headers);
?>
|
| |
|
|
|
|
|
|
|
для: shest
(26.05.2008 в 20:48)
| | Так русский текст передавать нельзя. | |
|
|
|
|
|
|
|
для: sim5
(27.05.2008 в 01:41)
| | Функции mail() можно. | |
|
|
|
|
|
|
|
для: BinLaden
(27.05.2008 в 02:32)
| | Нет, нельзя - отправьте такое сообщение себе, затем в откройте Outlook. Если еще для тела сообщения можно будет указать кодировку и все сойдет с рук, то вот для темы письма и его автора - нет. | |
|
|
|
|
|
|
|
для: sim5
(27.05.2008 в 02:35)
| | Если Вы говорите про Outlook, то это уже означает, что письмо дошло, каким бы оно не было.
Тут просто оно не отправляется. | |
|
|
|
|
 183 байт |
|
|
для: BinLaden
(27.05.2008 в 02:45)
| | Отправить - это еще не значит прочитать. Вот что получит адресат в письме. Если прочитаете это - я буду не прав. | |
|
|
|
|
|
|
|
для: sim5
(27.05.2008 в 02:47)
| | > Отправить - это еще не значит прочитать
Насколько я понимаю, Вы говорите о другой проблеме, никак не связанной с текущей. | |
|
|
|
|
|
|
|
для: BinLaden
(27.05.2008 в 22:37)
| | Правильно, о другой. Я заметил автору, что так письма в русской кодировке отправлять нельзя - смысла в этом нет. | |
|
|
|
|
|
|
|
для: BinLaden
(27.05.2008 в 02:32)
| | Нет нельзя - вы проверьте сами прежде чем говорить.
Я делал так
<?
$headers['Subject'] = '=?windows-1251?B?'.base64_encode('Заголовок с русским текстом).'?=';
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(28.05.2008 в 11:30)
| | > вы проверьте сами прежде чем говорить.
В том-то и дело, что часто пробовал. Возможно, во всех сервисах, которые я использовал стоит автоопределение кодировки.
Одновременно с этим, я подумал, что sim5 это считает причиной неотправки письма. | |
|
|
|
|
 56 байт |
|
|
для: BinLaden
(28.05.2008 в 11:34)
| | Вы можете запустить функцию mail(), указав ей все аргументы пустыми - РНР даже не чихнет в этом случае. И sendmail со спокойной совестью отправит ваше сообщение, но выглядеть оно будет так... То, что автор допустил ошибку в синтаксисе, это не столь страшная ошибка, на нее укажет парсер, а вот то, что отправка письма с кодировкой отличной от английской просходит некорректно, это куда более грубее ошибка. На нее парсер не укажет, а адресат вместо письма получит хлам. Не надейтесь на почтовые серверы, которые будут принимать вашу почту. Кстати, буквально месяца 2-3 назад, mail.ru стал блокировать прием почты, у которой некорректно были оформлены поля заголовков. | |
|
|
|
|
|
|
|
для: sim5
(28.05.2008 в 13:13)
| | Суть в том, что этот код отлично отправляет вполне читаемое письмо и без всяких ошибок, а на этом сервере почему-то возникает ошибка. Интересно, какой же из параметров не нравится и почему? | |
|
|
|
|
|
|
|
для: Shest
(28.05.2008 в 23:07)
| | На этом, это на каком, и какая ошибка? Что касается "этот код отлично отправляет вполне читаемое письмо", то:
Один мой знакомый держал сайт, который реально располагался в Канаде. С почтой проблем не было. Затем начались проблемы с сайтом, но не связанные с почтой, а с техподдержкой, и все хуже и хуже. Перенес он сайт на "родину". Вот тут и начались проблемы, то адресаты Яши примут не весь что, то Рамблера, а Майл некоторые вообще не принимал, давая ответ, что это вирус и т.п.. Когда он попросил посмотреть в чем проблема, то вскрылось, что отправка почты (оформление отправлений) происходила у него по принципу практически такому же, каким и вы руководствуетесь.
Дело хозяйское, как хотите, так и оформляйте, но помните, что почта отправляется от вас до адресата, не по прямой "кремлевской" линии, и может гулять сутки бог весь где, и чтобы действительно "этот код отлично отправляет вполне читаемое письмо", оформляйте его не по строчке из мануала, а согласно стандартам. | |
|
|
|
|
|
|
|
для: shest
(26.05.2008 в 20:48)
| | >$headers.= "Content-type: text/html;\r\n";
Если так надо, задайте $headers.= "Content-type: text/html; charset='Koi-8r'\r\n"; | |
|
|
|