Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как отправить почту через smtp?
 
 автор: Night_Wolf   (10.07.2006 в 13:16)   письмо автору
 
 

Хостер сказал, нужно отправилять почту с авторизацией на сервере (иначе mail() отправляет некорректно).

Параметры авторизации:

Server: pulsarhost.ru
Login: admin@netmail.com.ua
Password: password
Port: 25

Если отправлять сокетом, допустим такая фун-я:


function socketmail($server, $to, $from, $message) {
    $connect = fsockopen ($server, 25, $errno, $errstr, 30);
    fputs($connect, "MAIL FROM: $from\n");
    fputs($connect, "RCPT TO: $to\n");
    fputs($connect, "DATA\r\n");
    fputs($connect, "To: $to\n");
    fputs($connect, "\n\n");
    fputs($connect, stripslashes($message)." \r\n");
    fputs($connect, ".\r\n");
    fputs($connect, "RSET\r\n");
}


Как мне в нее вставить команды авторизации?
Вообще что и как вставлять (логин/пароль всмысле) для соединения?

Спасибо.

   
 
 автор: elenaki   (10.07.2006 в 13:33)   письмо автору
 
   для: Night_Wolf   (10.07.2006 в 13:16)
 

Trianon знает :).
он мне сильно помог в этом деле. если поискать поиском - "Ошибка SMTP", то возможно, вы найдете мою тему.
BOT OHA: http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=14091&page=1

   
 
 автор: Night_Wolf   (10.07.2006 в 14:07)   письмо автору
 
   для: elenaki   (10.07.2006 в 13:33)
 

Спасибо, моя тема:)

Вот только не отправилось:(

function send_mail($server_name, $login, $passwd,
$from_name, $from_addr,
$to_name, $body )
{
   $fs = fsockopen($server_name, 25);
    send_rcv($fs,0);
    send_rcv($fs,"EHLO $server_name");
    send_rcv($fs,"AUTH LOGIN");
    send_rcv($fs,base64_encode($login));
    send_rcv($fs,base64_encode($passwd));
    send_rcv($fs,"MAIL FROM: $from_addr");
    send_rcv($fs,"RCPT TO: $to_addr");
    send_rcv($fs,"DATA");
    send($fs,"From: $from_name");
    send($fs,"To: $to_name");
    send($fs,"");
    send($fs,$body);
    send_rcv($fs,".");
    send_rcv($fs,"QUIT");
}

Что диалог говорит не так?

recv: 220-pulsar.biz.ua ESMTP Exim 4.52 #1 Mon, 10 Jul 2006 10:02:12 +0000 
recv: 220-We do not authorize the use of this system to transport unsolicited, 
recv: 220 and/or bulk e-mail. 
send: EHLO pulsar.biz.ua
recv: 250-pulsar.biz.ua Hello pulsar.biz.ua [66.225.214.106] 
recv: 250-SIZE 52428800 
recv: 250-PIPELINING 
recv: 250-AUTH PLAIN LOGIN 
recv: 250-STARTTLS 
recv: 250 HELP 
send: AUTH LOGIN
recv: 334 VXNlcm5hbWU6 
send: c21zQGJ1ci5jb20udWE=
recv: 334 UGFzc3dvcmQ6 
send: bGVnaW9u
recv: 235 Authentication succeeded 
send: MAIL FROM: admin@netmail.com.ua
recv: 250 OK 
send: RCPT TO: 
recv: 501 RCPT must have an address operand 
send: DATA
recv: 503 valid RCPT command must precede DATA 
send: From: admin@netmail.com.ua
send: To: e_moon@ukr.net
send: 
send: Test:)
send: .
recv: 500 unrecognized command 
send: QUIT
recv: 500 unrecognized command

   
 
 автор: Trianon   (10.07.2006 в 14:27)   письмо автору
 
   для: Night_Wolf   (10.07.2006 в 14:07)
 

$to_addr - зачем выкинули?

   
 
 автор: Night_Wolf   (10.07.2006 в 14:37)   письмо автору
 
   для: Trianon   (10.07.2006 в 14:27)
 

Виноват, сам недосмотрел.

Все ok!
Мое безграничное спасибо, Trianon!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования