Eredmény: 1 - 4 (4) összesen

Téma: php mail() gondok

  1. #1
    Tag
    Csatlakozott
    10-09-06
    Hozzászólás
    53
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás php mail() gondok

    Sziasztok!
    Egy olyan problémám van, hogy a honlapomon csináltam egy webes email küldőt.
    A gond ott van, hogyha megadom a headert, akkor azt az emailbe is beszúrja. Ezt hogy lehet kiküszöbölni? A másik gond, hogy a szerveren utf-8-as kódolással van fent az oldal, viszont sok embernek a levelezője az iso-8859-2-t használja.... hogy tudom átkonvertáltatni a mailfügvényben elküldött üzenetet, hogy az helyesen jelenjen meg?

    Jelenleg így néz ki a kód:

    PHP kód:
        $msg        $_REQUEST['text'];
        
    $subject    $_REQUEST['subject'];
        
    $to        $_REQUEST['email'];
        
    $t_adat    mysql_fetch_array(mysql_query("SELECT * FROM ".$config['sql']['prefix']."admin_users WHERE id = ".$to));
        
    $to        $t_adat['email'];
        
    $f_adat    mysql_fetch_array(mysql_query("SELECT * FROM ".$config['sql']['prefix']."admin_users WHERE id = ".$_SESSION['u_id']));
        
    $from        $f_adat['email'];
        
    $sep        md5(date('r'time())); 
        
    $headers    "From: thelol@azeletert.hu\r\nReply-To: thelol@azeletert.hu";
        
    $headers    .= "\r\nContent-Type: text/html; boundary=\"PHP-alt-".$sep."\"";
        
    $body    "
    <html>
    <head>
       <title>"
    .$f_adat['user']."</title>
       <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
    </head>
    <body>
    "
    .$msg."
    </body>
    </html>"
    ;
        if(
    mail($to,$subject,$msg,$headers)){
            
    $borderdata "Az e-mail elküldve!";
        }else{
            
    $borderdata "Az e-mail elküldése sikertelen!";
        } 
    Előre is köszi!


    Utoljára módosítva: thelol által : 2011-02-21 23:25

  2. #2
    Net vadász nagysanyi logója
    Csatlakozott
    09-04-11
    Hely
    Budapest
    Hozzászólás
    483
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: php mail() gondok

    Használd ezt, nekem működik
    PHP kód:
    $headers .= 'MIME-Version: 1.0' "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-2' "\r\n";
    $headers .= "To: $to"\r\n";
    $headers .= "From: thelol@azeletert.hu" "\r\n";

    mail($to$subject$message$headers); 

    Function a karakterekért

    PHP kód:

    function char_utf8($string) {
        if (! 
    ereg("[\200-\237]"$string) and ! ereg("[\241-\377]"$string))
        
    $string preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e","'<'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).'>'"$string); $string preg_replace("/([\300-\337])([\200-\277])/e","'<'.((ord('\\1')-192)*64+(ord('\\2')-128)).'>'"$string); $replace_karakternorm_title = array('<233>' => 'é','<201>' => 'É','<195><169>' => 'é','<232>' => 'é','<xe9>' => 'é','<245>' => 'ő','<337>' => 'ő','<213>' => 'Ő','<336>' => 'Ő','<x0151>' => 'ő','<otilde>' => 'ő','<x151>' => 'ő','<369>' => 'ű','<251>' => 'ű','<219>' => 'Ű','<368>' => 'Ű','<252>' => 'ü','<220>' => 'Ü','<xfc>' => 'ü','<xed>' => 'í','<237>' => 'í','<205>' => 'Í','<239>' => 'i','<xe1>' => 'á','<225>' => 'á','<193>' => 'Á','<65533>' => 'á','<195><173>' => 'A','<250>' => 'ú','<218>' => 'Ú','<195><65533>' => 'ú','<371>' => 'u','<243>' => 'ó','<211>' => 'Ó','<195><179>' => 'ó','<195><161>' => 'ó','<xf3>' => 'ó','<214>' => 'Ö','<246>' => 'ö','<195><182>' => 'ö');
        
    $string strtr(($string), $replace_karakternorm_title); $trans_tbl1 get_html_translation_table (HTML_ENTITIES);
       foreach ( 
    $trans_tbl1 as $ascii => $htmlentitie ) { $trans_tbl2[$ascii] = '<'.ord($ascii).'>'; }
       
    $trans_tbl1 array_flip ($trans_tbl1);
       
    $trans_tbl2 array_flip ($trans_tbl2);
       
    $string strtr (strtr ($string$trans_tbl1), $trans_tbl2);
        return 
    $string;




    Utoljára módosítva: nagysanyi által : 2011-02-21 23:40

  3. #3
    MinderBinder edem logója
    Csatlakozott
    09-09-02
    Hely
    Budapest
    Hozzászólás
    1.093
    Thanked 1 Time in 1 Post

    Alapbeállítás re: php mail() gondok

    Szerintem használjátok a PHP_EOL konstanst. Ha régebbi verzió a php, akkor pedig definiáljátok:
    Kód:
    if(!defined('PHP_EOL')){  define('PHP_EOL', strtoupper(substr(PHP_OS,0,3) == 'WIN') ? "\r\n" : "\n"); 
     }




  4. #4
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: php mail() gondok

    Hello,

    haszálj inkább valamiféle kész scriptet pl:
    http://www.phpclasses.org/package/26...s-for-PHP.html

    továbbá létezik 2 érdekes módszer az egyik a SQL injection a másik meg a mail header injection, az elsővel adatokat lehet kiolvasni az adatbázisból
    (pl: teofil:4e2c202527bc8960e2482a582456dd20 ) [thelol] // nem egy kreativ pass
    a másikkal meg spammet lehet küldeni a szerverdről mert a $to változót nem ellenőrzöd ahogy a többit sem.

    Próbálj áttérni mysqli re és SHA512 hash + salt használatra.

    KForum



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •