[AYUDA] Problema con envio de correo

Topic created · 1 Mensajes · 189 Visitas
  • Hola amigos de uj porfa pido una mano para que me ayuden con esto tengo una pagina de metin2 con activador por correo pero el correo nunca llega si alguno me puede dar una mano con esto se lo agradesco...

    class Mail {
    private $smtpServer = ' ..... ';
    private $port = '26';
    private $timeout = '45';
    private $username = ' ....... ';
    private $password = ' ...... ';
    private $newline = "\n";
    ////////////////////////////////////////////// NU MODIFICATI ///////////////////
    private $charset = 'windows-1251';
    private $contentTransferEncoding = false;

    // Do not change anything below
    private $smtpConnect = false;
    private $to = false;
    private $subject = false;
    private $message = false;
    private $headers = false;
    private $logArray = array(); // Array response message for debug
    private $Error = '';

    public function __construct($to, $subject, $message) {
    $this->to = &$to;
    $this->subject = &$subject;
    $this->message = &$message;
    // Connect to server
    if(!$this->Connect2Server()) {
    // Display error message
    echo $this->Error.$this->newline.''.$this->newline;
    return false;
    }
    return true;
    }

    private function Connect2Server() {
    // Connect to server
    $this->smtpConnect = fsockopen($this->smtpServer,$this->port,$errno,$error,$this->timeout);
    $this->logArray['CONNECT_RESPONSE'] = $this->readResponse();

    if (!is_resource($this->smtpConnect)) {
    return false;
    }
    $this->logArray['connection'] = "Connection accepted: $smtpResponse";
    // Hi, server!
    $this->sendCommand("EHLO $this->localdomain");
    $this->logArray['EHLO'] = $this->readResponse();
    // Let's know each other
    $this->sendCommand('AUTH LOGIN');
    $this->logArray['AUTH_REQUEST'] = $this->readResponse();
    // My name...
    $this->sendCommand(base64_encode($this->username));
    $this->logArray['REQUEST_USER'] = $this->readResponse();
    // My password..
    $this->sendCommand(base64_encode($this->password));
    $this->logArray['REQUEST_PASSWD'] = $this->readResponse();
    // If error in response auth...
    if (substr($this->logArray['REQUEST_PASSWD'],0,3)!='235') {
    $this->Error .= 'Authorization error! '.$this->logArray['REQUEST_PASSWD'].$this->newline;
    return false;
    }
    // "From" mail...
    $this->sendCommand("MAIL FROM: $this->username");
    $this->logArray['MAIL_FROM_RESPONSE'] = $this->readResponse();
    if (substr($this->logArray['MAIL_FROM_RESPONSE'],0,3)!='250') {
    $this->Error .= 'Mistake in sender\'s address! '.$this->logArray['MAIL_FROM_RESPONSE'].$this->newline;
    return false;
    }
    // "To" address
    $this->sendCommand("RCPT TO: $this->to");
    $this->logArray['RCPT_TO_RESPONCE'] = $this->readResponse();
    if (substr($this->logArray['RCPT_TO_RESPONCE'],0,3)!='250') {
    $this->Error .= 'Mistake in reciepent address! '.$this->logArray['RCPT_TO_RESPONCE'].$this->newline;
    }
    // Send data to server
    $this->sendCommand('DATA');
    $this->logArray['DATA_RESPONSE'] = $this->readResponse();
    // Send mail message
    if (!$this->sendMail()) return false;
    // Good bye server! 😃
    $this->sendCommand('QUIT');
    $this->logArray['QUIT_RESPONSE'] = $this->readResponse();
    // Close smtp connect
    fclose($this->smtpConnect);
    return true;
    }
    // Function send mail
    private function sendMail() {
    $this->sendHeaders();
    $this->sendCommand($this->message);
    $this->sendCommand('.');
    $this->logArray['SEND_DATA_RESPONSE'] = $this->readResponse();
    if(substr($this->logArray['SEND_DATA_RESPONSE'],0,3)!='250') {
    $this->Error .= 'Mistake in sending data! '.$this->logArray['SEND_DATA_RESPONSE'].$this->newline;
    return false;
    }
    return true;
    }
    // Function read response
    private function readResponse() {
    $data="";
    while($str = fgets($this->smtpConnect,4096))
    {
    $data .= $str;
    if(substr($str,3,1) == " ") { break; }
    }
    return $data;
    }
    // function send command to server
    private function sendCommand($string) {
    fputs($this->smtpConnect,$string.$this->newline);
    return ;
    }
    // function send headers
    private function sendHeaders() {
    $this->sendCommand("Date: ".date("D, j M Y G:i:s")." +0700");
    $this->sendCommand("From: