Форум сетевых администраторов
Показаны 17 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- Хаки от Netadmin или "Сделай сам" (http://netadmin.ws/forum/forumdisplay.php?forumid=76)
-- функция майл... (http://netadmin.ws/forum/showthread.php?threadid=9723)


Помещено fStrange 20-10-2004 в 08:54:

MCTarakan

quote:
Почему не доходят письма до большинства бесплатных почтовых серверов?



указанные три способа не панацея...
испробовав все 3 мне пришлось заменять функцию vb_send_mail, на свою использующую smtp класс, после чего трабла все же устранилась

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено MCTarakan 20-10-2004 в 11:26:

fStrange дык, лекарство в студию в разделе "Хаки"

__________________
yMC.ru - хомяк музыканта


Помещено fStrange 21-10-2004 в 07:54:

MCTarakan
ну хак это громко..
я делал по принципу "покрасил и забыл" по этому оно коряво

в файле includes/functions.php
ищем функцию function vb_send_mail
заменяем ее на это

PHP:


// fstrange hack
function  vb_send_mail($to,$subject,$message,$additional_hea
ders
="",$additional_parameters="")
{
    
        require_once(
"smtp/email_message.php");
    require_once(
"smtp/smtp_message.php");
    require_once(
"smtp/smtp.php");

    
$message_object=new smtp_message_class;
    
$message_object->smtp_host="mail.fclan.ru";   /* SMTP server address */

    
    
$message_object->smtp_user = "vbmail#fclan.ru";// smtp user
    
$message_object->smtp_password = "password";// smtp password
    
$message_object->smtp_pop3_auth_host = "mail.fclan.ru";
    
$message_object->smtp_debug=0;            /* Output dialog with SMTP server */        
    
$message_object->smtp_direct_delivery=1;  /* Deliver directly to the recipients destination SMTP server */
    

    
return($message_object-> Mail($to,$subject,$message,$additional_headers,$ad
ditional_parameters
));
}

// fstrange hack



использованные классы взяты на http://phpclasses.segmenta.ru

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено w00fer 26-11-2004 в 17:50:

fStrange
объясни пожалуйста, то что ты залил в аттаче....

quote:

require_once("smtp/email_message.php");
require_once("smtp/smtp_message.php");
require_once("smtp/smtp.php");



т.е. откуда появилась эта папка "smtp" ?
и зачем в архиве 2 папки ("smtpcalss", "mimemessage")?

опиши, пожалуйста, более подробно установку твоего хака
спасибо.

__________________
Чему быть, того не миновать


Помещено fStrange 29-11-2004 в 08:08:

w00fer
хм.. я уже его переделал.. тут старая версия...

вот то что у мну стоит сейчас и работает... без него значительная часть писем, в частности с ящиков майл, яндекс и рамблера возвращется
vb 3.03 includes/functions.php
функцию vb_send_mail меняем полностью на то что ниже

PHP:


// fStrange hack
function  vb_send_mail($to,$subject,$message,$additional_hea
ders
="",$additional_parameters="")
{
require(
"smtp/smtp.php");

    
$from=getenv("USER")."@".getenv("HOSTNAME"); /* Change this to your address like "me@mydomain.com"; */
        
$from="******@******.ru";
        
$smtp=new smtp_class;
    
    
$smtp->direct_delivery=0;     /* Set to 1 to deliver directly to the recepient SMTP server */
    
$smtp->timeout=10;            /* Set to the number of seconds wait for a successful connection to the SMTP server */
    
$smtp->data_timeout=0;        /* Set to the number seconds wait for sending or retrieving data from the SMTP server.
                                     Set to 0 to use the same defined in the timeout variable */

    
$smtp->host="****.****.ru";   /* SMTP server address */

    
    
$smtp->user = "******";
    
$smtp->password = "******";
    
$smtp->pop3_auth_host = "*******";
    
$smtp->debug=0;            /* Output dialog with SMTP server */        
    
$smtp->direct_delivery=0;  /* Deliver directly to the recipients destination SMTP server */


    /*
     * If you need to use the direct delivery mode and this is running under
     * Windows or any other platform that does not have enabled the MX
     * resolution function GetMXRR() , you need to include code that emulates
     * that function so the class knows which SMTP server it should connect
     * to deliver the message directly to the recipient SMTP server.
     */
    
if($smtp->direct_delivery)
    {
        if(!
function_exists("GetMXRR"))
        {
            
/*
            * If possible specify in this array the address of at least on local
            * DNS that may be queried from your network.
            */
            
$_NAMESERVERS=array();
            include(
"getmxrr.php");
        }
        
/*
        * If GetMXRR function is available but it is not functional, to use
        * the direct delivery mode, you may use a replacement function.
        */
        /*
        else
        {
            $_NAMESERVERS=array();
            if(count($_NAMESERVERS)==0)
                Unset($_NAMESERVERS);
            include("rrcompat.php");
            $smtp->getmxrr="_getmxrr";
        }
        */
    
}

    if(
$smtp->SendMessage(
        
$from,
        array(
$to),
        array(
"From: $from","To: $to","Subject: $subject","Date: ".strftime("%a, %d %b %Y %H:%M:%S %Z")),
        
$message))
        return 
TRUE;
    else
        return 
FALSE;
}                                               
// fStrange hack end



$from="****@*****.ru";
$smtp->host="****.****.ru";
$smtp->user = "******";
$smtp->password = "******";
$smtp->pop3_auth_host = "*******";
в этих строчках вписать настройки своего smtp

нужно создать в папке includes каталог smtp
и добавить туда файл smtp.php временно лежит в http://fclan.ru/tmp/smtp.zip стандартный smtp класс скачан с http://phpclasses.segmenta.ru

ВНИМАНИЮ АДМИНОВ!!!хм не могу прикрепить файл...

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено w00fer 29-11-2004 в 12:37:

fStrange
всё, спасибо, понял =)

__________________
Чему быть, того не миновать


Помещено w00fer 30-11-2004 в 19:35:

fStrange
знаешь... всё сделал как ты написал...на сервере в интернете не пробовал, а вот после установке у себя на localhost -> форум упал

__________________
Чему быть, того не миновать


Помещено fStrange 01-12-2004 в 08:44:

w00fer
хм... а как после замены функции vb_send_mail может упасть форум?
ведь я же менял только ее.. даже если оставить ее пустой, форум будет работать, ему она нужна только при отправке писем

если думаешь что она виновата, то попробуй просто заменить файл functions.php на исходный
у меня этот вариант стоит на 3 форумах, на 2 моих и у 1 друзей

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено w00fer 01-12-2004 в 10:57:

fStrange
блин, стало её хуже.... на localhost форум падает - я тебе точно говорю... ни раз проверял, теперь залил на сервер, вот что пишет:

code:

Parse error: parse error, unexpected T_STRING, expecting ')' in .../forum/includes/functions.php on line 516


где 516 строка, это строка твоего кода

quote:
ders="",$additional_parameters="")

__________________
Чему быть, того не миновать


Помещено Bratok 01-12-2004 в 21:22:

2w00fer
У тебя и будет ошибка...
Недосуг исправить строку

PHP:


function  vb_send_mail($to,$subject,$message,$additional_hea
ders
="",$additional_parameters="")



то бишь просто написать кусок кода в одну строку.

Bratok добавил 01-12-2004 в 21:27:12:
Следующая ошибка у тебя будет в строке

PHP:

return($message_object->  mail($to,$subject,$message,$additional_headers,$ad
ditional_parameters
));


т.к. эту строку так же нужно писать на в две строки, а в одну.

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено w00fer 01-12-2004 в 23:28:

Bratok
спасибо, однако хочу заметить....
что я ни в коем случае не критикую автора и его работу.... я всего лишь сделал всё по инструкции (как написал он), те по шагам, описанным на 2 сообщения выше (copy/paste) вот и всё

зы. кстати, функции return в новой версии вообще нет

__________________
Чему быть, того не миновать


Помещено fStrange 02-12-2004 в 08:26:

w00fer
сунулся проверять , ага, так как и сказал Bratok

copy past тут просто сработал некорректно, при попытке редактировать тот php код который я написал, разрыва строки я в нем не вижу, а при копировании в блокнот он есть.

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено w00fer 02-12-2004 в 11:22:

fStrange
я тоже не заметил =)
теперь всё работает как часы =)
спасибо

__________________
Чему быть, того не миновать


Помещено w00fer 13-12-2004 в 17:10:

quote:
Первоначальное сообщение от fStrange
w00fer
сунулся проверять , ага, так как и сказал Bratok

copy past тут просто сработал некорректно, при попытке редактировать тот php код который я написал, разрыва строки я в нем не вижу, а при копировании в блокнот он есть.



вот снова лажа.... не работает у меня хак (вообще перестал отправлять уведомления)
скорее всего, здесь дело не в вобле, а в кривых фильтрах почты
нашёл на vbulletin.org следующий код:



code:
in includes/mail.php find

     var $smtpHost = "smtp.example.com";
	var $smtpPort = 25;
	var $smtpUser = false;
	var $smtpPass = false;
	var $smtpSocket = null;
    
    Edit to the correct values
    
    Example
    
    var $smtpHost = "smtp.example.com";
	var $smtpPort = 25;
	var $smtpUser = user@domain.com;
	var $smtpPass = password;
	var $smtpSocket = null;
    
save and upload

find in includes/functions.php
     
     if (false) // will eventually use $vboptions to determine this
     
     Change too
     
     if (true) // will eventually use $vboptions to determine this
     
     Send a test email to ensure that it is working.
     
save and upload

__________________
Чему быть, того не миновать


Помещено fStrange 14-12-2004 в 07:45:

w00fer
для того чтобы скрипт работал, требуется ящик с smtp сервером, доступным не из локалки...


из бесплатных, это допустим рамблер, но из за загруженности думаю иногда может не отправлять..

а тот код, с вб.орг я видел, у меня с ним та же трабла....
на майл, рамблер, яндекс письма с форума не пропускает их спам фильтр

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Помещено w00fer 14-12-2004 в 08:57:

fStrange
в у меня есть, у хостера.... не отправляет....

__________________
Чему быть, того не миновать


Помещено fStrange 14-12-2004 в 11:48:

w00fer
там в зип архиве есть файлик test_smtp.php
поставь туда свои настройки...

и

PHP:


$smtp
->debug=1;               /* Set to 1 to output the communication with the SMTP server */
$smtp->html_debug=1;



обязательно эти 2 единички.. запускай и смотри что пишет

__________________
Новая жизнь HMM3(Герои 3.5 WoG)http://hmm3.fclan.ru


Формат времени GMT. Текущее время 00:07.
Показаны 17 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.