• 30-12-2008, 08:13:57
    #1
    Aşağıdaki gibi bir koda buldum sorunsuz çalışıyor ama bu kodla alakalı sormak istediğim bazı kısımlar var açıklayabilen olursa sevinirim
    $random_hash değişkenkenine bu değer atanıyor md5(date('r', time()));
    ama sürekli olarak <?php echo $random_hash; ?> yazsırılmasının sebebi nedir acaba ?
    <?php
    //define the receiver of the email
    $to = 'youraddress@example.com';
    //define the subject of the email
    $subject = 'Test email with attachment';
    //create a boundary string. It must be unique
    //so we use the MD5 algorithm to generate a random hash
    $random_hash = md5(date('r', time()));
    //define the headers we want passed. Note that they are separated with \r\n
    $headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
    //add boundary string and mime type specification
    $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
    //read the atachment file contents into a string,
    //encode it with MIME base64,
    //and split it into smaller chunks
    $attachment = chunk_split(base64_encode(file_get_contents('attachment.zip')));
    //define the body of the message.
    ob_start(); //Turn on output buffering
    ?>
    --PHP-mixed-<?php echo $random_hash; ?> 
    Content-Type: multipart/alternative; boundary="PHP-alt-<?php echo $random_hash; ?>"
    
    --PHP-alt-<?php echo $random_hash; ?> 
    Content-Type: text/plain; charset="iso-8859-1"
    Content-Transfer-Encoding: 7bit
    
    Hello World!!!
    This is simple text email message.
    
    --PHP-alt-<?php echo $random_hash; ?> 
    Content-Type: text/html; charset="iso-8859-1"
    Content-Transfer-Encoding: 7bit
    
    <h2>Hello World!</h2>
    <p>This is something with <b>HTML</b> formatting.</p>
    
    --PHP-alt-<?php echo $random_hash; ?>--
    
    --PHP-mixed-<?php echo $random_hash; ?> 
    Content-Type: application/zip; name="attachment.zip" 
    Content-Transfer-Encoding: base64 
    Content-Disposition: attachment 
    
    <?php echo $attachment; ?>
    --PHP-mixed-<?php echo $random_hash; ?>--
    
    <?php
    //copy current buffer contents into $message variable and delete current output buffer
    $message = ob_get_clean();
    //send the email
    $mail_sent = @mail( $to, $subject, $message, $headers );
    //if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"
    echo $mail_sent ? "Mail sent" : "Mail failed";
    ?>
  • 30-12-2008, 18:52:13
    #2
    herhangi bir fikri olan yok herhalde neyse sorun değil sonuçta kodlar çalışıyor ama kodların ne işe yaradığını merak etmiştim
  • 30-12-2008, 19:24:09
    #3
    Üyeliği durduruldu
    Echo Olan Yerler Hiç Bir İşe Yaramıyor.
    Sadece
    $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\""
    Bu alan İçin Bir Şifreleme Methodu Olarak Kullanılmış O Kadar. (r ile tarih Alınmış md5'e çevirilmiş)
  • 30-12-2008, 19:26:39
    #4
    e posta istemcileri vs. o hash i tanırlar,

    multipart/mixed yaptığın zaman bu şekilde

    PHP-alt-eiçtkmaütuieçkmçtakmieçtkamçiema gibi header belirleyip arasına veriler girilebiliyor. o amaçla tüm headerler tutsun diye o şekilde her seferinde yazdırılıyor.
  • 30-12-2008, 20:53:55
    #5
    açıklamalar için teşekkürler şimdi bu kodu yada headerları hash yapmadan gönderme yolu varmıdır varsa nasıldır yada bu kodun benzeri bir şey varmıdır çocuklara anlatacağım için daha basit birşey olmasını istiyorum