Nasıl php komut dosyası aracılığıyla postalar göndermek için?

7 Cevap php

How can i send mails through the php script?? I am trying to do somthing like this:

for($k=0;$k<=$x->length-1;$k++)
{
    for($l=0;$l<=$j-1;$l++)
    {
        if($y->item($k)->nodeValue==$JobNoArr[$l] && $AcceptanceDateArr[$l]=='0000-00-00')
        {   
            //echo  $v->item($k)->nodeValue ;
            $email = $v->item($k)->nodeValue . ",";
            $to = $email;
            $subject = "My subject";
            $txt = "Hello world!";
            $headers = "From: webmaster@example.com" . "\r\n" .
            "CC: someother.valid@email.adr";
            mail($to,$subject,$txt,$headers);
        }
    }
}

Bu konuda bana yardımcı olun.

Best Zeeshan

7 Cevap

Ben kuvvetle PHP'nin mail() işlevini kullanarak posta göndermek karşı tavsiye ederiz. Geçerli e-posta oluşturma ve bunları başarıyla teslim ilk bakışta göründüğünden daha zordur. Orada, kodlayan bir araya parça koyarak, doğrulama ve bir sanitasyon, hata raporlama ve üzerinde kimlik doğrulama ve için destek (bool mail(...) daha fazla ...) mail() function Bunlardan herhangi sunmuyor.

SwiftMailer veya benzer sahipsiniz. Bunu PHP'nin mail() fonksiyonu ve çok daha fazla kullanmak için yapılandırabilirsiniz. Ben bunu tavsiye ederim.

Siz de aynı anda çok bütün çalışıyoruz. Bir seferde bir adım gitmeyi deneyin. Öncelikle bu çalışma almak için kodlanmış parametreleri ile basit bir e-posta göndermek, sonra da iç içe döngüler kapsamında giderilir.

Sorun posta işlevi e-postaların büyük miktarda gönderirken, özellikle çok güvenilmez olduğunu.

i would recommend looking into PHPmailer library (uses direct SMTP connection): http://phpmailer.codeworxtech.com/

İlk yapılacak

echo $result = mail($to,$subject,$txt,$headers);

ve u, hata olsun bakın?

Ben bir sınıf gibi PHPMailer kullanmanızı öneririz

neden ths satırın sonunda virgül?

$email = $v->item($k)->nodeValue . ",";

Bir posta her zaman gönderebilirsiniz.

php-s posta işlevi bir MTA olarak sendmail kullanır, bu yüzden bazı postalar geçmesi ve bazı değilse, ben hatalar Sendmail günlüğüne bakmak olacaktır.

Eğer paylaşılan bir web barındırma, ya da ev bilgisayarınızda varsa, sunucu için ana etki alanı gibi bir şey olacak

server.your-isp-or-host.com

Spam filtresi sonra e-posta gönderildiği iddia göreceksiniz

yourdomain.com

gerçekten ilk adres geldi ve sonra silmek ne zaman.

Bu hata hit-ve-miss doğasını açıklar.

Eğer düzgün kurmak DNS ile evinizdeki bilgisayara özel bir sunucu veya bir statik IP işaret üzerinde ise, yukarıda geçerli değildir.

bu gmail e-postalar göndererek çalışır eğer o zaman para cezası da yahoo e-posta gönderme çalışması gerektiğini

Eğer sorun e-posta gönderme değil, ama belki yahoo spam olarak işaretleme veya ağ geçidi onları bloke olduğunu görebilirsiniz

i e-posta adresinin sonuna bir virgül ekleme olduğunu fark, bunun ne anlamı var?

başka sorunlar olabilir, sizin döngüler doğru, onlar beklenen tüm davaları kapsayan.

Eğer e-posta binlerce gönderiyor? MTA Eğer sıraya e-postaları koyarak hızını işleyebilir

script max_execution zaman isabet ve duruyor?