|
Автор |
Сообщение |
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Доброго времени суток!
Помогите разобраться, почему не происходит отправка сообщения посредством сокетов:
Код: |
$smtp_name = 'XXXX@mail.ru';
$smtp_pass = 'XXXX';
$smtp_port = '25';
$smtp_host = 'smtp.mail.ru';
$smtp_charset = 'utf-8';
$smtp_from = "от Stalker-CS Shop";
$subject = "Секретный код подтверждения";
$mail_to = 'white_wind93@mail.ru';
$message = "Секретный код: ".$secret_code;
$socket=fsockopen($smtp_host, $smtp_port);
fgets($socket);
fputs($socket, "EHLO $smtp_host\r\n");
fgets($socket);
fputs($socket, "AUTH LOGIN\r\n");
fgets($socket);
fputs($socket, base64_encode($smtp_name) . "\r\n");
fgets($socket);
fputs($socket, base64_encode($smtp_pass) . "\r\n");
fgets($socket);
fputs($socket, "MAIL FROM: <$smtp_name>\r\n");
fgets($socket);
fputs($socket, "RCPT TO: <$mail_to>\r\n");
fgets($socket);
fputs($socket, "DATA\r\n");
fgets($socket);
$msg='';
$msg .= "Reply-To: $smtp_name\r\n";
$msg .= "MIME-Version: 1.0\r\n";
$msg .= "Content-Type: text/plain; charset=\"$smtp_charset\"\r\n";
$msg .= "Content-Transfer-Encoding: 8bit\r\n";
$msg .= "From: \"$smtp_from\" <$smtp_name>\r\n";
$msg .= "To: $mail_to <$smtp_mail>\r\n";
$msg .= "Subject: =?UTF-8?B?" . base64_encode($subject) . "?=\r\n";
$msg .= "X-Priority: 3\r\n\r\n";
$msg .= $message."\r\n";
fputs($socket, $msg."\r\n.\r\n");
fgets($socket);
|
Уже 2 недели мучаюсь (
Последний раз редактировалось: Veter (Чт Июл 21, 2011 8:12 pm), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
> почему не происходит отправка сообщения
Дай вывод с собственно ошибкой. Причин могут быть миллионы Или скрипт ничего не говорит?
п.с. вместо
пиши
Код: |
echo fgets(...)."<br>"; |
Затем выложи сюда вывод _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Код: |
220 smtp7.mail.ru ESMTP ready
19250-smtp7.mail.ru
12250-SIZE 31457280
30250-8BITMIME
22250-AUTH PLAIN LOGIN
34250 STARTTLS
33334 VXNlcm5hbWU6
6334 UGFzc3dvcmQ6
356
535 Incorrect authentication data |
Некорректные данные аутентификации. Пароль и логин верные, проверял... |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
> fputs($socket, "EHLO $smtp_host\r\n");
Попробуй HELO вместо EHLO _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Код: |
220 smtp12.mail.ru ESMTP ready
19250 smtp12.mail.ru
12334 VXNlcm5hbWU6
30334 UGFzc3dvcmQ6
22235 Authentication succeeded
34250 OK
33250 Accepted
6354 Enter message, ending with "." on a line by itself
356
550 your mailer sends invalid headers |
Теперь на заголовки ругается.
Кстати, а почему EHLO на HELO поменяли? В примерах в сети всегда EHLO пишут o_0 |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
Попробуй попеременно комментировать заголовки и смотреть, что получится
Алсо, посмотри примеры с HELO. И пост-пост-скриптум: почитай про разницу EHLO и HELO _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Всё, проблема решена: нашёл в гугле рабочий пример |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
White_wind писал(а): |
Всё, проблема решена: нашёл в гугле рабочий пример |
Поделись на форуме ссылкой или решением, чтобы другие могли найти
И, если не тяжело, допиши в начале названия темы "[РЕШЕНО]" _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
White_wind, спасибо _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Хе, есть ещё одна проблемка...
В скрипте есть такая строчка:
Код: |
header('Content-Type: text/html; charset=utf-8'); |
На мэйл.ру сообщение нормальное приходит, а вот когда отсылаю на "нестандартную почту" (пример - почта@postlife_ru) - сообщение в кривой кодировке. Пробовал сменить заголовок на cp1251 - не помогло (( Есть идеи, Anderson? |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
White_wind, header($s) устанавливает кодировку вывода страницы на клиентском браузере, а не письма. Алсо, в твоей ссылке в комментах вычитал:
Цитата: |
Ещё надо добавить:
$message = iconv(”cp1251″,”KOI8-R”,$message);
$message = “Content-Type: text/plain; charset=\”koi8-r\”\r\nContent-Transfer-Encoding: 8bit\r\n\r\n”.$message;
$subject=base64_encode(iconv(”cp1251″,”KOI8-R”,$subject));
$subject=”=?KOI8-R?B?{$subject}?=”;
Иначе письма приходят в кривой кодировке. |
Ставишь кодировку и все _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
Veter
Участник тусовки
Зарегистрирован: 01.07.2009 Сообщения: 86 Откуда: Московская обл.
|
|
|
|
Даже как-то стыдно за себя, мог бы и сам почитать )) Спасибо!)
P.S. В твоей цитате комментария с i-novice.net ковычки пришлось поменять на обычные, английские. Ну это так, вдруг кому понадобится |
|
Вернуться к началу |
|
|
Anderson
Завсегдатай
Зарегистрирован: 08.07.2006 Сообщения: 642 Откуда: localhost
|
|
|
|
White_wind, бывает! На здоровье _________________ ArchLinux + Enlightenment 17 (E17) |
|
Вернуться к началу |
|
|
|
|