Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: отправка сообщения на php
Форумы портала PHP.SU » » Работа с сетью » отправка сообщения на php

Страниц (1): [1]
 

1. psuzanna - 06 Июля, 2011 - 15:34:16 - перейти к сообщению
<?PHP

// Функция для отправки запроса серверу
function smtpCommand($socket, $msg) {
socket_write($socket, $msg."\r\n", strlen($msg."\r\n"));
}
$server = "mail.ayola.net";
$port = 25;
$login = "мой логин на mail.ayola.net";
$pass = "мой пароль на mail.ayola.net";
$from = "psuzanna@pz6.ru";
$to = " levonliamik@mail.ru";
$subject = "hello";
$message = "hello world";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$result = socket_connect($socket, $server, $port);
if ($result === false)
die("Невозможно соединиться с {$server}:{$port}");
smtpCommand($socket, "EHLO ".$server); // Посылаем на сервер, что будет аутентификация по логину и паролю
smtpCommand($socket, "AUTH LOGIN"); // передаем команду ввода логина и пароля
smtpCommand($socket, base64_encode($login)); // логин, надо кодировать в BASE64
smtpCommand($socket, base64_encode($pass)); // пароль, надо кодировать в BASE64
smtpCommand($socket, "MAIL FROM: <{$from}>"); // указываем значение поля "От кого"
smtpCommand($socket, "RCPT TO: <{$to}>"); // указываем значение поля "Кому"
smtpCommand($socket, "DATA"); // говорим серверу, что будет сообщение письма
smtpCommand($socket, "Subject: {$subject}\r\nTo: {$to}\r\n{$message}\r\n."); // добавляем тело письма
smtpCommand($socket, "QUIT"); // Собственно отправляем письмо и выходим
socket_close($socket);

?>
помогите пожалуйста что в этом коде не правильно ?.У меня никаких ошибок не выдаёт ,
но открываю свою почту levonliamik@mail.ru, а там ничего нет.
2. LIME - 06 Июля, 2011 - 16:10:00 - перейти к сообщению
psuzanna я незнаю почтовых протоколов и лень щас разбиратся но попробуй символ конца строки "\r\n" поменять на PHP_EOL(предопределеная константа)...так как в разных ОС эти символы разные
3. Мелкий - 06 Июля, 2011 - 16:16:52 - перейти к сообщению
psuzanna пишет:
У меня никаких ошибок не выдаёт

А откуда взяться ошибкам, если вы не смотрите, что вам отвечает сервер? Как бы говоря, протокол неслучайно текстовым.
4. LIME - 06 Июля, 2011 - 16:19:28 - перейти к сообщению
а еще навскидку видно что вы не дожидаетесь ответа ...выпуливаете все заголовки сразу..
и вот еще: вы уверены что после заголовка AUTH LOGIN нужен перевод строки? (я незнаю просто кажется что пароль логин должны сразу идти )
5. xhugo - 06 Июля, 2011 - 18:01:16 - перейти к сообщению
ой ой..php.su/functions/?mail
6. psuzanna - 07 Июля, 2011 - 07:58:09 - перейти к сообщению
Мелкий пишет:
psuzanna пишет:
У меня никаких ошибок не выдаёт

А откуда взяться ошибкам, если вы не смотрите, что вам отвечает сервер? Как бы говоря, протокол неслучайно текстовым.

Дело в том , что я ни только этот скрипт пробовала и другие , где проверяется, если сообщение отправлено, то выдаёт "отправлено" .
7. LIME - 07 Июля, 2011 - 14:52:18 - перейти к сообщению
psuzanna
psuzanna пишет:
Дело в том , что я ни только этот скрипт пробовала и другие , где проверяется, если сообщение отправлено, то выдаёт "отправлено" .


вы не поняли ...
на каждую строчку которую вы отправляете сервер должен прислать подтверждение чо принял ее ...вот посмотрите может поймете http://www[dot]codenet[dot]ru/webmast/smtp.php

 

Powered by ExBB FM 1.0 RC1