Zend haber mektupları göndermek nasıl

4 Cevap php

i Zend_Mail Via haber mektubu gibi bir şey göndermeye çalışıyorum ama 12 posta sonra ben bu mesajı aldım

Ölümcül hata: C aşıldı 30 saniye Maksimum yürütme zamanı: \ Program Files \ Zend \ Apache2 \ htdocs \ forga kütüphaneye \ Zend \ Mail \ Protokol \ Abstract.php \ on line 321

Benim Kod gibidir:

$smtpHost = 'smtp.gmail.com';

$smtpConf = array(
        'auth' => 'login',
        'ssl' => 'tls',
        'port' => '587',
        'username' =>'xxxxx@xxxxx.com',
        'password' => 'xxxxxxxx'
        );    
$transport = new Zend_Mail_Transport_Smtp($smtpHost, $smtpConf);

foreach($users as $user)
{
    $mail = new Zend_Mail();
    $mail->setFrom("noreply@forga.com", 'Forga');
    $mail->setSubject($subject);
    if($html=='on')
        $mail->setBodyHtml($message);
    else
        $mail->setBodyText($message);
    $mail->addto($user);
    $transport->send($mail);
}

4 Cevap

Olsun komut dosyası zaman aşımı Ben ev sahibi e-postalar göndermek için yavaş ve sadece e-postaları gönderme toplu işleyemez varsaymak istiyorum. Sen ile bir komut dosyası zamana kadar zamanını artırabilir

Bir daha zarif bir şekilde uyumsuz ayrı işlemler e-postalar göndermek olacaktır. Kontrol etmek

Özellikle e-postalar ile Bölüm 3 fırsatlar.

PHP paralel işleme başka bir gönderme benim cevap Çıkış Multithreading/Parallel Processing in PHP. Ben alakalı olduğunu düşünüyorum. Eğer bireysel istek dışında yapılması için bir şey gerekiyorsa muhtemelen sıranın çeşit kabul edilmelidir.

Do you manage the web server yourself?
Up to version 5.3.0, set_time_limit() only works in safe mode. (deprecated in recent PHP).
You can set safe mode in php.ini.

Ayrıca bkz max_execution_time in php.ini.

Kodunuzu ayrı ayrı sunucudan her tek bir e-posta göndererek bakışlarla .. aşağıdakileri yapmayı deneyin.

$smtpHost = 'smtp.gmail.com';

$smtpConf = array(
        'auth' => 'login',
        'ssl' => 'tls',
        'port' => '587',
        'username' =>'xxxxx@xxxxx.com',
        'password' => 'xxxxxxxx'
        );    
$transport = new Zend_Mail_Transport_Smtp($smtpHost, $smtpConf);
$mail = new Zend_Mail();
$mail->setFrom("noreply@forga.com", 'Forga');
$mail->setSubject($subject);
$html=='on' ?$mail->setBodyHtml($message) : $mail->setBodyText($message);

foreach($users as $user)
{
    $mail->addto($user);
}

$transport->send($mail);

Diğer e-posta adresleri may tüm alıcılara görünür, çünkü yok ben aslında bu yanlış olabilir, im bu e-posta sadece concerning bölümünde ise emin değilim.

Selamlar