Перейти к содержимому



Проблема с отправкой сообщения на email

#1 reznikoff161

reznikoff161
  • Пользователь
  • 20 сообщений
  • Репутация: 0
0

Отправлено 29 Июль 2013 - 00:26

Всем привет, нужна помощь. При регистрации на сайте нужно указать emal,чтобы на него пришел код активации, когда сообщение приходит на почту возникает проблема с кодировкой.
когда пришло сообщение:
Снимок2.PNG

когда открываешь сообщение:
Снимок.PNG

функция которая отправляет сообщение

{
$result3 = mysql_query ("SELECT id FROM users WHERE login='$login'",$db);//извлекаем идентификатор пользователя. Благодаря ему у нас и будет уникальный код активации, ведь двух одинаковых идентификаторов быть не может.
$myrow3 = mysql_fetch_array($result3);
$activation = md5($myrow3['id']).md5($login);//код активации аккаунта. Зашифруем через функцию md5 идентификатор и логин. Такое сочетание пользователь вряд ли сможет подобрать вручную через адресную строку.
$subject = "Подтверждение регистрации";//тема сообщения
$message = "Здравствуйте! Спасибо за регистрацию на citename.ru\nВаш логин: ".$login."\n
Перейдите по ссылке, чтобы активировать ваш аккаунт:\nhttp://localhost/test3/activation.php?login=".$login."&code=".$activation."\nС уважением,\n
Администрация citename.ru";//содержание сообщение
mail($email, $subject, $message, "Content-type:text/plane; Charset=windows-1251\r\n");//отправляем сообщение

echo "Вам на E-mail выслано письмо с cсылкой, для подтверждения регистрации. Внимание! Ссылка действительна 1 час. <a href='index.php'>Главная страница</a>"; //говорим о отправленном письме пользователю
}

 

 

  • 0

#2 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 29 Июль 2013 - 07:08

Файл отправки тоже обязательно должен быть в 1251, возможно поэтому расхождение.
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#3 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 29 Июль 2013 - 09:08

Заголовок письма нужна кодировать для решения подобной проблемы:
$subject = '=?windows-1251?B?'.base64_encode('Подтверждение регистрации').'?=';//тема сообщения

  • 0


#4 reznikoff161

reznikoff161
    Topic Starter
  • Пользователь
  • 20 сообщений
  • Репутация: 0

Отправлено 29 Июль 2013 - 19:42

Такая же проблема у меня происходит с отправкой личных сообщений, Русские буквы не показывает а английские показывает, в базе данных менял кодировку ну не к чему не привело, не подскажите в чем дело?
Код который отвечает за отправку сообщения пользователю:
{
$author = $messages['author'];
$result4 = mysql_query("SELECT avatar,id FROM users WHERE login='$author'",$db); //извлекаем аватар автора
$myrow4 = mysql_fetch_array($result4);
if (!empty($myrow4['avatar'])) {//если такового нет, то выводим стандартный(может этого пользователя уже давно удалили)
$avatar = $myrow4['avatar'];
}
else {$avatar = "avatars/net-avatara.jpg";}
  printf("
  <table>
  <tr>
  <td><a href='page.php?id=%s'><img alt='аватар' src='%s'></a></td>

  <td>Автор: <a href='page.php?id=%s'>%s</a><br>
	  Дата: %s<br>
   Сообщение:<br>
  %s<br>
  <a href='drop_post.php?id=%s'>Удалить</a>

  </td>
  </tr>
  </table><br>
  ",$myrow4['id'],$avatar,$myrow4['id'],$author,$messages['date'],$messages['text'],$messages['id']);
  //выводим само сообщение
  }

  • 0

#5 alex159

alex159
  • Пользователь
  • 492 сообщений
  • Репутация: 32

Отправлено 29 Июль 2013 - 21:26

reznikoff161, учились по курсам Евгения Попова? =).

А как у вас происходит отправка сообщения? Где функция mail?

<?php
$tema = "Тема";
$pismo = "Текст сообщения";
$headers  = "[b]Content-type: text/html; charset=utf8 rn[/b]";
$headers .= "From: site <info@site.com.ua>rn";
$headers .= "Bcc: site.uarn";

$mail = mail($myrow['email'], $tema, $pismo,$headers);
if($mail = "true") { echo "Сообщение отправленно адресату ".$myrow['email']."<br>"; } else { echo "сообщение не отправленно адресату ".$myrow['email']."<br>"; }
?>

Вот часть моего кода, недавно была тоже такая проблема. Так же в начале страницы не забывайте ставить
header('Content-type: text/html; charset= utf-8');

  • 1

#6 reznikoff161

reznikoff161
    Topic Starter
  • Пользователь
  • 20 сообщений
  • Репутация: 0

Отправлено 30 Июль 2013 - 00:15

Ну да, сообщения взял у Попова, попробую вашу функцию))
  • 0

#7 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 30 Июль 2013 - 08:39

reznikoff161, учились по курсам Евгения Попова? =).

Не могу мимо пройти, меня аж зацепило, а я репу соответственно :)
За правильное замечание.
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#8 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 30 Июль 2013 - 08:46

вот еще почитай , я тут все подробно описал про письма и их отправку
  • 0

#9 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 30 Июль 2013 - 09:35

fedornabilkin, Да, в общем-то, это и не замечание как бы было... скорее, узнаваемый код :)
Собственно, как и код "заметившего" в соседней теме ;)


  • 0


#10 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 30 Июль 2013 - 09:59

Да, в общем-то, это и не замечание как бы было

Смотрел однажды лекции преподавателя, так он очень ругался на подобных авторов курсов.
Больше, чем в мануале ни один автор не написал, а каждый выражает свое мнение, но не факт, что оно правильное.
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru