Я здесь открываю тему впервые, а зовут меня Влад.
Годика так три назад я на php изобразил некую простенькую гостевую книгу и хотел было изобразить форум, но одного не хватило. Сейчас хочу немного восстановить форму и изобразить нечто почтовое...
Когда писал гостевую книгу, из тонкой книги одного умного автора на букву Ш. выписал простейший код, что позволяет автоматом после записи в книгу отправлять автору уведомление...
$toaddress = 'adres@server.ru';
$subject='someone';
$mailcontent = 'Checking! Your message is added!';
mail($toaddress,$subject,$mailcontent);
Сейчас - то же самое, но попытался просто так, для рассылок с домашнего компа и с apache-сервера... Вбил свой домашний E-mail для проверки связи...
Увы, результат нулевой..
Ваше мнение, форумчане?
С уважением
Влад
Спустя 14 часов, 4 минуты, 38 секунд (10.05.2011 - 11:19) quickxyan написал(а):
вот, только вчера сам что-то типа искал, но не совсем то.
по совету одно форумчанина и его ссылке, нашел скрипт для отправки почты через сокеты
по совету одно форумчанина и его ссылке, нашел скрипт для отправки почты через сокеты
<?
function get_data($smtp_conn)
{
$data="";
while($str = fgets($smtp_conn,515))
{
$data .= $str;
if(substr($str,3,1) == " ") { break; }
}
return $data;
}
$header="Date: ".date("D, j M Y G:i:s")." +0700\r\n";
$header.="From: =?UTF-8?Q?".str_replace("+","_",str_replace("%","=",urlencode('')))."?= <admin@mail.ru>\r\n";
$header.="X-Mailer: The Bat! (v3.99.3) Professional\r\n";
$header.="Reply-To: =?UTF-8?Q?".str_replace("+","_",str_replace("%","=",urlencode('')))."?= <admin@mail.ru>\r\n";
$header.="X-Priority: 3 (Normal)\r\n";
$header.="Message-ID: <172562218.".date("YmjHis")."@mail.ru>\r\n";
$header.="To: =?UTF-8?Q?".str_replace("+","_",str_replace("%","=",urlencode('')))."?= <user@mail.ru>\r\n";
$header.="Subject: =?UTF-8?Q?".str_replace("+","_",str_replace("%","=",urlencode('проверка')))."?=\r\n";
$header.="MIME-Version: 1.0\r\n";
$header.="Content-Type: text/plain; charset=UTF-8\r\n";
$header.="Content-Transfer-Encoding: 8bit\r\n";
$text="привет, проверка связи.";
$smtp_conn = fsockopen("smtp.mail.ru", 25,$errno, $errstr, 10);
if(!$smtp_conn) {print "соединение с серверов не прошло"; fclose($smtp_conn); exit;}
$data = get_data($smtp_conn);
fputs($smtp_conn,"EHLO vasya\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {print "ошибка приветсвия EHLO"; fclose($smtp_conn); exit;}
fputs($smtp_conn,"AUTH LOGIN\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 334) {print "сервер не разрешил начать авторизацию"; fclose($smtp_conn); exit;}
fputs($smtp_conn,base64_encode("ЛОГИН")."\r\n"); //ТУТ ЛОГИН К ЯЩИКУ
$code = substr(get_data($smtp_conn),0,3);
if($code != 334) {print "ошибка доступа к такому юзеру"; fclose($smtp_conn); exit;}
fputs($smtp_conn,base64_encode("PASSWORD")."\r\n"); //ТУТ ПАРОЛЬ
$code = substr(get_data($smtp_conn),0,3);
if($code != 235) {print "не правильный пароль"; fclose($smtp_conn); exit;}
$size_msg=strlen($header."\r\n".$text);
fputs($smtp_conn,"MAIL FROM:<admin@mail.ru> SIZE=".$size_msg."\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {print "сервер отказал в команде MAIL FROM"; fclose($smtp_conn); exit;}
fputs($smtp_conn,"RCPT TO:<user@mail.ru>\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250 AND $code != 251) {print "Сервер не принял команду RCPT TO"; fclose($smtp_conn); exit;}
fputs($smtp_conn,"DATA\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 354) {print "сервер не принял DATA"; fclose($smtp_conn); exit;}
fputs($smtp_conn,$header."\r\n".$text."\r\n.\r\n");
$code = substr(get_data($smtp_conn),0,3);
if($code != 250) {print "ошибка отправки письма"; fclose($smtp_conn); exit;}
fputs($smtp_conn,"QUIT\r\n");
fclose($smtp_conn);
?>
Спустя 23 минуты, 42 секунды (10.05.2011 - 11:43) wlad написал(а):
Наивный вопрос ДО тестировки (ибо должен убегать):
У Вас этот код работает?
У Вас этот код работает?
Спустя 7 часов, 43 минуты, 2 секунды (10.05.2011 - 19:26) quickxyan написал(а):
да, абсолютно работает. укажите почту отправителя и кому отправляете + логин и пароль вот и все
Спустя 3 дня, 2 часа, 48 минут, 49 секунд (13.05.2011 - 22:15) Anuarbek написал(а):
Может быть всё намного проще .. Например: если используется Denwer, то сообщения не отсылаются "наружу", а отсылаються в локальную папочку(кажется sendmail называется). Но и это можно обойти изменив настройки по умолчанию.