Autor Zpráva
Slapy
Profil
Dorbý deň,
použil som kód s tohoto fóra
<?php
/* *************** diskuse.jakpsatweb.cz *** PHP FAQ ********************** */
function autoUTF($s)
{
    if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s)) // detect UTF-8
    {
        return $s;
    }
    elseif (preg_match('#[\x7F-\x9F\xBC]#', $s)) // detect WINDOWS-1250
    {
        return iconv('WINDOWS-1250', 'UTF-8', $s);
    }
    else // assume ISO-8859-2
    {
        return iconv('ISO-8859-2', 'UTF-8', $s);
    }
}

function cs_mail($to, $predmet, $zprava, $head = "")
{
    $predmet = "=?utf-8?B?".base64_encode(autoUTF($predmet))."?=";
    $head .= "MIME-Version: 1.0\r\n";
    $head .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
    $head .= "Content-Transfer-Encoding: base64\r\n";
    $zprava = base64_encode(autoUTF($zprava));
    return mail($to, $predmet, $zprava, $head);
}

$mail = 'blake2556@gmail.com';
$predmet = 'Skúšobný email';
$zprava = "Test, \r\n ěščřžýáíé123456789";

if (cs_mail($mail, $predmet, $zprava, 'From: vas@web.cz\r\n'))
{
    echo 'E-mail byl úspěšně odeslán.<br>';
}
else
{
    echo 'E-mail se bohužel nepodařilo odeslat.<br>';
}

ale keď ho spustím skončí to chybou: Warning: mail() [function.mail]: SMTP server response: 501 5.1.7 Bad sender address syntax in E:\LocalUser\-------\labak\logni\2.php on line 26 skúšal som aj google ale sáme anglické stránky možno to na nich aj bolo vyriešené ale nevšymol som si to lebo angličtinu veľmy neovládam.
Slapy
Profil
Pritom ak som pochopil správne chybovú hlášku my to hlásy že je zle zadaný email ale email je dobrý normálne ho používam. Jedine že by kód dáko prehádzal znaky no neviem...
virgo86
Profil
pokud spouštíš script ze svého serveru v PC musíš taky zadat smtp server pro odchozí poštu. využij phpmailer() hodně mi usnadnil práci koukni na vlákno
http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=119104
Slapy
Profil
virgo86:
Ne ne mám to na hostingu http://cabrnoch-host.cz/
virgo86
Profil
$mail = "blake2556@gmail.com";
$predmet = "zpráva z web";
$zprava = "Firma ";
$kon = cs_mail ($mail, $predmet, $zprava, "From: vas@web.cz\n");

if ($kon)
  echo "E-mail byl úspěšně odeslán.<br>";
 else
  echo "E-mail se bohužel nepodařilo odeslat.<br>";



function cs_mail ($to, $predmet, $zprava, $head = "")
       {  $predmet = "=?utf-8?B?".base64_encode ($predmet)."?=";
          $head .= "MIME-Version: 1.0\n";
          $head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
          $head .= "Content-Transfer-Encoding: base64\n";
          $zprava = base64_encode  ($zprava);
          return mail ($to, $predmet, $zprava, $head); }
          

skus tohle. možná je to apostrofy u tveho e-mailu. takto to mi funguje když zadam svuj mail.
Ve scriptu jsem nepoužil funkci autoUTF() která detekuje kodovaní.
Keeehi
Profil
virgo86:
Apostrofy to nebude. V tomto případě je to úplně jedno.
Jelikož jsi vynechal funkci autoUTF měl by jsi na to upozornit. Mohly by vniknout problémy s kódováním.
Slapy
Profil
Keď som napísal adminovy serveru:
"Dobrý deň,
chcel by som sa vás opýtať čy server podporuje Mail Transfer Agent, na strankach serveru som to nenasiel preto sa obraciam na vas, potreboval by som aby som mohol používateľom odoslať registračný email tak len či sa to da. Lebo my to nefunguje tak aby som vedel či je chyba v mojom php skrypte alebo to nepodporujete."
Tak my odpovedal:
"Dobrý den,
nešel by formulář posílat přes funkci mail()?"
takže neviem či som mu položil blbú otázku alebo my on blbo odpovedal. Teoreticky ak server nepodporuje MTA tak to budem musiet robyt dákou zložitejšou cestou alebo vôbec?
Alebo je to cele od veci a server nemusí podporovať žiadny MTA
virgo86
Profil
Slapy:
Alebo je to cele od veci a server nemusí podporovať žiadny MTA
v tom ti neporadím. Ale stejně čím si ten server vyddělavá když poskytuje zadarmo webhosting bez reklamy?
virgo86
Profil
Keeehi:
opraveno a díky za upozornění jen chci pomoct i já když mi tak někteří pomaháte více pochopit php.
Slapy
Profil
virgo86:
hmm to ti nepoviem asi ňáky chlapík čo na nevie čo s peniazmy
Davex
Profil
Keeehi:
Apostrofy to nebude. V tomto případě je to úplně jedno.
Tady to není jedno:
if (cs_mail($mail, $predmet, $zprava, 'From: vas@web.cz\r\n'))
Ten text musí být v uvozovkách, protože jinak se ten řádek neukončí a v hlavičce vznikne nesmysl.
From: vas@web.cz\r\nMIME-Version: 1.0
Slapy
Profil
Davex:
dik tam bola chyba už my to ukazuje: "E-mail byl úspěšně odeslán." len email neprichadza.
Keeehi
Profil
Davex:
Ano, máš pravdu. Všiml jsem si změny pouze u řádku $mail = "blake2556@gmail.com"; kde to jedno bylo.
Slapy
Profil
Takže teraz keď som to už upravil a kód ide neviete kde môže byť problém skúšal som aj google hľadať či server podporuje SMTP aj MTA aj neviem čo všetko ale neviem čo teraz.

*Edit: aha takže ono to funguje aj višie uvedeny kod Virga fungoval ale všetko sa to dava automatycky do priečinku spam ale snáď len preto že je tám málo textu.
Dík za rady tému môžte zavreť.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0