все изучил - проблема с mail()

DEADCAT

Новичок
все изучил - проблема с mail()

Добрый вечер!

Прочитал уже все форумы, мануалы...

есть код:
PHP:
$message="Сегодня ".date("d.m.Y",$date)." на сайте  был зарегистрирован пользователь с Вашим E-mail адресом, поэтому Вы получили данное письмо. Если Вы не регистрировались на нашем сайте, то просто удалите данное письмо. Если же регистрация была произведена Вами, то перейдите по нижеприведённой ссылке для активации аккаунта на сайте.<br>  Регистрация будет действительна до ".date("m.d.Y",mktime(0,0,0,date("d",$date)+4,date("m",$date),date("Y",$date))).", после чего активировать аккаунт будет невозможно!<br>  Ссылка для активации:<a href=\"registr_activate.php?checkSum=".$checkSum."&email=".$email."\">Активировать аккаунт</a><br>  После активации зайти в свой аккаунт Вы сможете введя свои регистрационные данные:  Логин:  $email Пароль: $password_mail  -----------------------------<br>  С уважением, администрация <br> Email для контактов: <a href=\"mailto:\">  </a>";  //Посылаем сообщение пользователю $headers = "MIME-Version: 1.0\r\nContent-Type: text/html;\r\ncharset=\"utf-8\"\r\n"; mail($email, "Активация аккаунта", $message, "From: ", $headers);
Тестю на локальхосте под денвером и courier mail server. Проблема в том, что в Microsoft Outlook 2007 приходят кракозябры, а текст - с html кодом, то есть показываются все теги. НА мейл.ру текст читаем, но также с тегами! Подскажите , уже все перепробовал!!

-~{}~ 15.04.09 23:22:

PHP:
$message="Сегодня ".date("d.m.Y",$date)." на сайте  был зарегистрирован пользователь с Вашим E-mail адресом, поэтому Вы получили данное письмо. 
Если Вы не регистрировались на нашем сайте, то просто удалите данное письмо. Если же регистрация была произведена Вами, то перейдите по нижеприведённой
ссылке для активации аккаунта на сайте.<br>  
Регистрация будет действительна до ".date("m.d.Y",mktime(0,0,0,date("d",$date)+4,date("m",$date),date("Y",$date))).", после чего активировать аккаунт будет невозможно!<br>  
Ссылка для активации:<a href=\"registr_activate.php?checkSum=".$checkSum."&email=".$email."\">Активировать аккаунт</a><br>  
После активации зайти в свой аккаунт Вы сможете введя свои регистрационные данные:  
Логин:  $email 
Пароль: $password_mail  -----------------------------<br>  
С уважением, администрация <br> Email для контактов: <a href=\"mailto: \">  </a>";  //Посылаем сообщение пользователю 
$headers = "MIME-Version: 1.0\r\nContent-Type: text/html;\r\ncharset=\"utf-8\"\r\n"; 
mail($email, "Активация аккаунта", $message, "From: [email][email protected][/email]", $headers);
 

dimagolov

Новичок
DEADCAT, ты русский язык понимаешь? я тебя про "хеде" (кстати, на каком это языке?) спрашивал разве?
 

DEADCAT

Новичок
Что значит в какой кодировке сохранен? Ты имеешь ввиду, то что у меня windows, значит кодировка windows-1251, а я тут utf-8 пишу? или что?
 

dimagolov

Новичок
DEADCAT, да мне наплевать что у тебя. Русский текст сохраняется (в том числе и в файлах) в определенной кодировке, так как в 7bit ASCII русские буквы не входят. Так вот, в какой кодировке сохранишь свой скрипт, в такой и будут у тебя переменные в нем и в таком они будут отправленны почтовику.

Потрудись понять сам как сохранять файлы в нужной тебе кодировке.
 

DEADCAT

Новичок
идею понял, допустим правильно, ну а по поводу html так и не пойму, в полученном письме нет Content-Type. Вроде пишу как в мануалах!
 

DEADCAT

Новичок
Warning: mail() [function.mail]: SMTP server response: 501 Mailbox syntax incorrect - <Birthday Reminder <[email protected]>>

Вот что выдается при использовании примера из мануала!
 

DEADCAT

Новичок
Автор оригинала: *****
строку с mail сюда
Вот этот код из мануала выдает такую ошибку - в предидущем посте!
PHP:
<?php 
// multiple recipients 
$to  = '[email protected]' . ', '; // note the comma
$to .= '[email protected]';  /
/ subject 
$subject = 'Birthday Reminders for August';  
// message 
$message = ' <html> <head>   <title>Birthday Reminders for August</title> </head> <body>   <p>Here are the birthdays upcoming in August!</p>   <table>     <tr>       <th>Person</th><th>Day</th><th>Month</th><th>Year</th>     </tr>     <tr>       <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>     </tr>     <tr>       <td>Sally</td><td>17th</td><td>August</td><td>1973</td>     </tr>   </table> </body> </html> ';

 // To send HTML mail, the Content-type header must be set 
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  
// Additional headers 
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email][email protected][/email]' . "\r\n"; 
$headers .= 'Bcc: [email][email protected][/email]' . "\r\n";  
// Mail it 
mail($to, $subject, $message, $headers); ?>
 

DEADCAT

Новичок
Автор оригинала: DEADCAT
Вот этот код из мануала выдает такую ошибку - в предидущем посте!
PHP:
<?php 
// multiple recipients 
$to  = '[email protected]' . ', '; // note the comma
$to .= '[email protected]';  /
/ subject 
$subject = 'Birthday Reminders for August';  
// message 
$message = ' <html> <head>   <title>Birthday Reminders for August</title> </head> <body>   <p>Here are the birthdays upcoming in August!</p>   <table>     <tr>       <th>Person</th><th>Day</th><th>Month</th><th>Year</th>     </tr>     <tr>       <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>     </tr>     <tr>       <td>Sally</td><td>17th</td><td>August</td><td>1973</td>     </tr>   </table> </body> </html> ';

 // To send HTML mail, the Content-type header must be set 
$headers  = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  
// Additional headers 
$headers .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n"; 
$headers .= 'From: Birthday Reminder <[email protected]>' . "\r\n"; 
$headers .= 'Cc: [email][email protected][/email]' . "\r\n"; 
$headers .= 'Bcc: [email][email protected][/email]' . "\r\n";  
// Mail it 
mail($to, $subject, $message, $headers); ?>
Залил на реальный сервер - заработало! Почему то на localhoste такую ошибку выдает, хотя отправляю через того же провайдера!

C кодировкой то же была проблема из-за этого - отсюда вопрос - в чем проблема на localhoste?
 

DEADCAT

Новичок
через localhost не приходит как раз нужный заголовок. И еще - получил это письмо через outlook express - заголовок пришел с кодировкой utf-8, а писmvj нормально читается в кодировке windows-1251. Это что? Отсюда вопрос - какую кодировку использовать, чтобы на максимально большом количестве программ и сервисов открывалось нормально? Какой стандарт?
 

Фанат

oncle terrible
Команда форума
люблю. стандарт - кои-8, но все системы читают любую кодировку.
если она правильно указана
 
Сверху