Autor Zpráva
Darker
Profil
Servery mi vrací hlášku:
421 Cannot connect to SMTP server 173.194.34.86 (173.194.34.86:25), connect timeout
a potom ukončí spojení. Nejdříve jsem myslel, že to souvisí s rychlostí mého připojení (vytáčené a je zataženo), ale na hostingu se skript choval stejně.
Na mailservery na localhostu se připojím bez problému:
>> 220 HIVE ESMTP
HELO localhost
>> 250 Hello.
MAIL FROM: name@server.cz
>> 250 OK
RCPT TO: jmareda@127.0.0.1
>> 250 OK
DATA
>> 354 OK, send.
Reply-To: name@server.cz
From: name@server.cz
Content-Type: multipart/mixed; boundary="PHP-mixed-4ff79c61afac1f2f78c3ef42b8db7614"
To: jmareda@127.0.0.1
Subject: SUBJECT

--PHP-mixed-4ff79c61afac1f2f78c3ef42b8db7614
Content-Type: multipart/alternative; boundary="alt-PHP-mixed-4ff79c61afac1f2f78c3ef42b8db7614"
BLA BLA BLA, formát emailu je v pořádku, v outlooku se mi zobrazil správně.
--PHP-mixed-4ff79c61afac1f2f78c3ef42b8db7614--


.
Pokud ale zadám svůj email, vypíše server pouze výše zmíněný řádek a odpojí se. Divné je, že to vypadá, jako by chybová hláška opravdu přišla od daného serveru. Což se mi zdá jako pitomost, ledaže by mi server záměrně bránil v komunikaci.

Funkce která komunikuje se serverem:
     public function send() {
     
       $communication = array("HELO {$_SERVER["SERVER_NAME"]}", "MAIL FROM: {$this->headers["From"]}", "RCPT TO: {$this->recipient}@{$this->host}","DATA",$this->getHeaders()."\r\n\r\n".$this->getText()."\r\n.");;
       $con = fsockopen($this->host, 25);
         if(!$con)
           return false;
         ob_end_flush();
       for($i=0; $i<count($communication); $i++) {
           $data = "";
       while (!feof($con)&&strpos($data,"\n")===false) {
          $data.= fgets($con, 128);
       }
       echo ">> $data";
         echo $communication[$i].PHP_EOL;
         if(!$con)
           return false;
         @ob_flush ();
         fputs($con,$communication[$i]."\r\n");
         }
     fclose($con);
       return false;;
     }
S telnetem jsem dosáhl stejných výsledků.
Tuší někdo, co se má dělat s emailem, který obsahuje tečku na prázdném řádku?

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: