PHP mail () veritabanı bağlantıdan sonra başarısız

3 Cevap php

Benim PHP programında, ben mail () fonksiyonu ile sorun yaşıyorum.

Ben bu satıra kadar herhangi bir yere kadar benim komut çağırabilirsiniz:

$this->db_conn = mysqli_connect($this->db_host, $this->db_user, $this->db_pass);

Ben onu hemen önce posta işlevine bir çağrı koyarsanız, mail () başarılı ve true döndürür. Birazdan bu satırdan sonra mail (), koyarsanız mail () başarısız olur ve yanlış döndürür.

Neden bu oluyor olabilir?

EDIT: benim komut dosyası kalanı posta () çağrısından sonra normal olarak devam eder. Bu yakın zamana kadar bir sorun değildi. Değişmiş olabilir bazı PHP / Apache ayar var mı?

EDIT2: önce bunu fark etmedi, ama yukarı gösteren bir uyarı gerçekten var:

PHP Warning:  mail() [<a href='function.mail'>function.mail</a>]: Could not execute mail delivery program '/usr/lib/sendmail -t -i'

Ne () çalışmasını posta programını engellemek için yapıyor mysqli_connect olabilir?

EDIT3: Bu sunucu Apache web sunucusu ile Solaris çalışıyor edilir. Şimdilik, ben iyi çalışıyor SMTP modunu kullanarak üzerinde PHPMailer açık ettik. Hala () olsa posta ile neyin yanlış gittiğini anlamaya çalışıyorum.

3 Cevap

Web sunucusu kullanılabilir dosya tanımlayıcıları bitiyor, ya da dosya tanıtıcısı sınırına isabet olabilir.

Sorun neredeyse kesinlikle veritabanı bağlantısı (-) ne olup bittiğini kontrol etmek için aramak ConnectionString çalışan ve belki de çıkış şey önde posta aşağıdaki satırda (değişkenler bariz bir seçim olacaktır bu databas ile yapmak için bazı izleme verileri) olup olmadığını kontrol edin ve ister ki çalışıyor.

Veritabanı günlük kimlik bilgileri ile ilgili sorunlar yaşıyorsanız size bildiririz olabilir.

Bu başarısız mail() veya veritabanı arama için herhangi bir sebep raporları görmek için günlüklerini denetleyin.