Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   smtp & php & microsoft exchange server (http://forum.oszone.net/showthread.php?t=249819)

cibin 23-12-2012 22:18 2051922

smtp & php & microsoft exchange server
 
Есть готовый, хороший, понятный скрипт для примера??

Есть таблица куда вносят определённую информацию.
Идея в том что создать кнопку при нажатии которого будет отправлять уведомления о добавленной информации путём отправки письма с кратким описанием из добавленной информации. Адресатов должен брать из специальной таблицы где будет ФИО и адрес, т.е. адресатов будет несколько.
Почта локальная, все специалисты без исключение используют microsoft office outlook 2007 и выше! Почта работает на microsoft exchange server.

На другом форуме достал скрипт:
PHP код:

# настроен под мэйл.ру
$config['smtp_username'] = '********@mail.ru'//Смените на имя своего почтового ящика.
$config['smtp_port'] = '25'// Порт работы. Не меняйте, если не уверены.
$config['smtp_host'] = 'smtp.mail.ru'//сервер для отправки почты
$config['smtp_password'] = '*************'//пароль
$config['smtp_charset'] = 'UTF-8'//кодировка сообщений.
$config['smtp_from'] = 'TEST'//Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого"
 
 
function smtpmail($mail_to$subject$message$headers='') {
        global 
$config;
        
$SEND =   "Date: ".date("D, d M Y H:i:s") . " UT\r\n";
        
$SEND .=   'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n";
        if (
$headers$SEND .= $headers."\r\n\r\n";
        else
        {
                
$SEND .= "Reply-To: ".$config['smtp_username']."\r\n";
                
$SEND .= "MIME-Version: 1.0\r\n";
                
$SEND .= "Content-Type: text/plain; charset=\"".$config['smtp_charset']."\"\r\n";
                
$SEND .= "Content-Transfer-Encoding: 8bit\r\n";
                
$SEND .= "From: \"".$config['smtp_from']."\" <".$config['smtp_username'].">\r\n";
                
$SEND .= "To: $mail_to <$mail_to>\r\n";
                
$SEND .= "X-Priority: 3\r\n\r\n";
        }
        
$SEND .=  $message."\r\n";
         if( !
$socket fsockopen($config['smtp_host'], $config['smtp_port'], $errno$errstr30) ) {
              return 
false;
         }
 
            if (!
server_parse($socket"220"__LINE__)) return false;
 
            
fputs($socket"HELO " $config['smtp_host'] . "\r\n");
            if (!
server_parse($socket"250"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket"AUTH LOGIN\r\n");
            if (!
server_parse($socket"334"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socketbase64_encode($config['smtp_username']) . "\r\n");
            if (!
server_parse($socket"334"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socketbase64_encode($config['smtp_password']) . "\r\n");
            if (!
server_parse($socket"235"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket"MAIL FROM: <".$config['smtp_username'].">\r\n");
            if (!
server_parse($socket"250"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket"RCPT TO: <" $mail_to ">\r\n");
 
            if (!
server_parse($socket"250"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket"DATA\r\n");
 
            if (!
server_parse($socket"354"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket$SEND."\r\n.\r\n");
 
            if (!
server_parse($socket"250"__LINE__)) {
               
fclose($socket);
               return 
false;
            }
            
fputs($socket"QUIT\r\n");
            
fclose($socket);
            return 
TRUE;
}
 
function 
server_parse($socket$response$line __LINE__) {
        global 
$config;
    while (
substr($server_response31) != ' ') {
        if (!(
$server_response fgets($socket256))) {
                  return 
false;
                }
    }
    if (!(
substr($server_response03) == $response)) {
                  return 
false;
        }
    return 
true;


Но я так понял что данный скрипт отправляет письмо на почтовые сервера типа mail. В моём случаи скрипт отказался работать!

cibin 10-02-2013 11:48 2086927

Видать я помощи здесь не получу!

на данный момент поднял сервер sendmail, настроил согласно ссылки http://content-management-systems.info/node/923
Но вопрос решить так и не смог, может без вариантов создать такое чудо?


Время: 18:30.

Время: 18:30.
© OSzone.net 2001-