Webmaster Forumu

Geri git   Webmaster Forumu > Webmaster Kaynak Eğitim Tanıtım Hizmet > Programlama Dilleri > PHP

PHP PHP & PHP Hızlandırıcılar

Cevapla
 
LinkBack Seçenekler Stil
  #1 (permalink)   iTrader 
Alt 2006-08-01, 00:46
Rütbe
 
Üyelik tarihi: Jul 2005
Nerden: about:blank
Mesajlar: 1.012
Teşekkür: 0
Thanked 1 Time in 1 Post
Tecrübe Puanı: 4
iTrader: %100/2
*siber* is on a distinguished road
Standart 50.000+ üye'ye en mantıklı mail gönderme yönetmi nedir ?

+ bir program kullanmadan mysql+php ile mail gönderiyorum. Bu mail gönderme işlemi çok uzun sürüyor ve beni çok yoruyor. Önerisi olan varmı ?

Daha doğrusu php ile yol göstermenize ihtiyacım var.
Alıntı ile Cevapla

  #2 (permalink)   iTrader 
Alt 2006-08-01, 01:00
kepche - ait Kullanıcı Resmi (Avatar)
Junior Member
 
Üyelik tarihi: Jul 2006
Mesajlar: 17
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
kepche will become famous soon enough
Standart

verileri database den çekerek sırayla mail gönderebilirsin (muhtemelen öyle yapıyorsun), seni bilmiyorum ama server ını yoracağı kesin
yol gösterme konusunda biraz daha detay verebilirsen, bilgim olduğu kadar yardımcı olmaya çalışırım. 50.000 kişiye mail gönderme işi kısa sürer mi onu bilmiyorum ama..
Alıntı ile Cevapla

  #3 (permalink)   iTrader 
Alt 2006-08-01, 01:14
Rütbe
 
Üyelik tarihi: Jul 2005
Nerden: about:blank
Mesajlar: 1.012
Teşekkür: 0
Thanked 1 Time in 1 Post
Tecrübe Puanı: 4
iTrader: %100/2
*siber* is on a distinguished road
Standart

detayı şu
sql'den maili alıp id sıralamasına göre tek tur mail attırıyorum sizine tahmin edebileceğiniz gibi. Kodlara gelince bildiğiniz veri çekme komutu, bildiğiniz mail fonksiyon komutları.

1. adım: select mail from table;
2. adım: mail gönderimi.
3. adım: mail atılan satır update ile mail atılamaz hale getiriyorum.

Konu *siber* tarafından (2006-08-01 Saat 01:17 ) değiştirilmiştir..
Alıntı ile Cevapla

  #4 (permalink)   iTrader 
Alt 2006-08-01, 01:27
Gold Member
 
Üyelik tarihi: Feb 2005
Mesajlar: 1.997
Teşekkür: 11
Thanked 5 Times in 4 Posts
Tecrübe Puanı: 4
iTrader: %100/10
disconnect will become famous soon enoughdisconnect will become famous soon enough
Standart

Alıntı:
*siber*´isimli üyeden Alıntı
detayı şu
sql'den maili alıp id sıralamasına göre tek tur mail attırıyorum sizine tahmin edebileceğiniz gibi. Kodlara gelince bildiğiniz veri çekme komutu, bildiğiniz mail fonksiyon komutları.

1. adım: select mail from table;
2. adım: mail gönderimi.
3. adım: mail atılan satır update ile mail atılamaz hale getiriyorum.
Kendi pc den bunu yapman mümkün değilmidir. Sadece fikir yürütüyorum.
Alıntı ile Cevapla

  #5 (permalink)   iTrader 
Alt 2006-08-01, 01:30
kepche - ait Kullanıcı Resmi (Avatar)
Junior Member
 
Üyelik tarihi: Jul 2006
Mesajlar: 17
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
kepche will become famous soon enough
Standart

bir yolu, mail adreslerini aralarına ";" koyarak uçuca eklemek,
bir diğer yolu da fsopen fsockopen() kullanarak socket açaraktan bağlanmak olabilir.
php.net de şu adreste bir örneği var, bağlandıktan sonraki kısmını döngüye sokaraktan yapabilirsin sanırım.
Eğer server kasar dersen, LIMIT kullanarak, parça parça göndermeyi deneyebilirsin. Bunun için basitçe, kendin kullanacağın ve sorgunun limit kısmı için başlangıç ve miktar değerlerini $_POST veya $_GET den alabileceğin birşeyler de yazabilirsin.

PHP Manual den örnek kod:
PHP- Kodu:
<?php

   $handle 
smtp_connect($smtp_server2530111);
   echo 
smtp_command($handle"EHLO $domain\r\n"11);
   echo 
smtp_command($handle"MAIL FROM:<$from_mail>\r\n"11);
   echo 
smtp_command($handle"RCPT TO:<$to_mail>\r\n"11);
   echo 
smtp_command($handle"DATA\r\n"11);
   echo 
smtp_command($handle"$message\r\n.\r\n"11);
   
// don't do it like this - it will hang up
   // echo smtp_command($handle, "$message", 1, 1);
   // echo smtp_command($handle, "\r\n.\r\n", 1, 1);
   
echo smtp_command($handle"QUIT\r\n"11);
   
smtp_close($handle);
  
  
   function 
smtp_connect($host$port$timeout=30$echo_command=False$echo_response=False$nl2br=False)
   {
       
$errno 0;
       
$errstr 0;
       if(
$echo_command)
       {
           if(
$nl2br) { echo nl2br("CONNECTING TO $host\r\n"); }
           else { echo 
"CONNECTING TO $host\r\n"; }
       }
       
$handle fsockopen($host$port$errno$errstr$timeout);
       if(!
$handle)
       {
           if(
$echo_command)
           {
               if(
$nl2br) { echo nl2br("CONNECTION FAILED\r\n"); }
               else { echo 
"CONNECTION FAILED\r\n"; }
           }
           return 
False;
       }
       if(
$echo_command)
       {
           if(
$nl2br) { echo nl2br("SUCCESS\r\n"); }
           else { echo 
"SUCCESS\r\n"; }
       }
       
$response fgets($handle,1);
       
$bytes_left socket_get_status($handle);
       if (
$bytes_left 0) { $response .= fread($handle$bytes_left["unread_bytes"]); }
       if(
$echo_response)
       {
           if(
$nl2br) { echo nl2br($response); }
           else { echo 
$response; }
       }
       return 
$handle;
   }

   function 
smtp_command($handle$command$echo_command=False$nl2br=False)
   {
       if(
$echo_command)
       {
           if(
$nl2br) { echo nl2br($command); }
           else { echo 
$command; }
       }
       
fputs($handle$command);
       
$response fgets($handle,1);
       
$bytes_left socket_get_status($handle);
       if (
$bytes_left 0) { $response .= fread($handle$bytes_left["unread_bytes"]); }
       if(
$nl2br) { return nl2br($response); }
       else { return 
$response; }
   }
  
   function 
smtp_close($handle)
   {
       
fclose($handle);
   }
?>
Alıntı ile Cevapla

  #6 (permalink)   iTrader 
Alt 2006-08-01, 02:00
Rütbe
 
Üyelik tarihi: Jul 2005
Nerden: about:blank
Mesajlar: 1.012
Teşekkür: 0
Thanked 1 Time in 1 Post
Tecrübe Puanı: 4
iTrader: %100/2
*siber* is on a distinguished road
Standart

Alıntı:
kepche´isimli üyeden Alıntı
bir yolu, mail adreslerini aralarına ";" koyarak uçuca eklemek
Önerin için teşekkürler. Buda aynı yavaşlığı sağlamaz mı ?
Alıntı ile Cevapla

  #7 (permalink)   iTrader 
Alt 2006-08-01, 02:34
kepche - ait Kullanıcı Resmi (Avatar)
Junior Member
 
Üyelik tarihi: Jul 2006
Mesajlar: 17
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
kepche will become famous soon enough
Standart

Bunun için şöyle bir örnek var
PHP- Kodu:
if ($sendMail()) echo "mail sent";

function 
sendMail() {
$subject "";
$message "";
$toAddr "";
$sql "SELECT DISTINCT email FROM members";
$result mysql_query($sql);
while (
$row mysql_fetch_row($result)) {
    
$toAddr .= "$row[0];";
   }
if (
mail($toAddr,$subject,$message)) return true;
else return 
false;

Bunu değiştirebilirsin, 50.000 maili birden yaparsan her türlü yavaş olması muhtemel.

Şöyle bişey yaptım, hata yoktur umarım bi incele istersen:
PHP- Kodu:
<?
$basla 
$_GET['basla'];
$kayit 1000;
$toplam 50000;

if (
$sendMail()) echo "$basla dan itibaren $kayit adet mail gönderildi.<br />";

function 
sendMail() {
$subject "";
$message "";
$toAddr "";
$sql "SELECT DISTINCT email FROM members LIMIT $basla , $kayit";
$result mysql_query($sql);
while (
$row mysql_fetch_row($result)) {
    
$toAddr .= "$row[0];";
   }
if (
mail($toAddr,$subject,$message)) return true;
else return 
false;
}

$i 0//$i = $basla + $kayit; dersen, kullandığın linki bir daha göstermemiş olur.
do{
        echo 
"<a href=\"mail.php?basla=$i\">$i den itibaren</a><br />";
        
$i += $kayit;
}while(
$i $toplam);

?>
1000 er adet gönderiyor her seferinde, en alta da linkleri listeliyor. Db yorulmasın dersen mantıklı olabilir.
Hatta tek tek bunlara mı tıklayacağım diyorsan, üretilen adresi javascript le belirli bir süre sonrasında redirect de yapabilirsin istersen. sana kalmış. kolay gelsin.
Alıntı ile Cevapla

  #8 (permalink)   iTrader 
Alt 2006-08-04, 02:10
404 404 isimli üyemiz çevrimdışıdır. (Offline)
Junior Member
 
Üyelik tarihi: Jun 2006
Mesajlar: 63
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
404 is an unknown quantity at this point
Standart

peki bunların junk a yakalanma oranı nedir acaba ve spam deglde üyelerimize atmak için ama junk a yakalanmamak için şiddetle onerılerınız nelerdır

Konu 404 tarafından (2006-08-04 Saat 02:48 ) değiştirilmiştir..
Alıntı ile Cevapla

  #9 (permalink)   iTrader 
Alt 2006-08-04, 02:24
Member
 
Üyelik tarihi: Jan 2005
Mesajlar: 398
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 3
iTrader: %0/0
mfk_1868 is on a distinguished road
Standart

http://www.developgames.net/buildgam...or-free-10.htm

buradaki scripti kullanabilirsin.
Alıntı ile Cevapla

  #10 (permalink)   iTrader 
Alt 2006-08-21, 17:34
Member
 
Üyelik tarihi: Aug 2004
Nerden: izmir
Mesajlar: 459
Teşekkür: 0
Thanked 0 Times in 0 Posts
Tecrübe Puanı: 0
iTrader: %0/0
draligus has a little shameless behaviour in the past
Standart

toplu mail gonderimlerinde email adresimiz kara listelere kaydedilmiyor mu?
__________________
online ansiklopedi
Alıntı ile Cevapla

Cevapla


Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Microsoft Outlook ile html kodlu mail gönderme OnlineCasinoLTD.CoM MS Office 5 2006-08-21 17:26
seri mail gönderme Anonymous Webmaster Genel Konular 10 2006-05-11 22:20
Bu mail de nedir? sevdik Ortaklık Affliate 13 2005-04-04 09:05
plesk'de e-mail gönderme lovelyboy Web Hosting Kurulum Donanım Yazılım 6 2004-10-17 10:12
mail gönderme ile alakalı?!!!!! xxxx Webmaster Genel Konular 2 2004-01-28 19:15


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 14:45 .


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0

Firefox