Ben benim yerel makinede ve ofiste bir sunucu üzerinde XAMPP koşuyorum. Hem Windows makinelerdir.
I mail()
bir form e-posta göndermek için kullandığı bazı kod yazıyorum. Varsayılan olarak, e-posta göndermek için sendmail.exe
(ki XAMPP ile birlikte gelir) kullanır. Tüm durumlarda, posta aslında Exchange sunucusu olan üçüncü bir makina aracılığıyla gönderilir.
Benim yerel makineden, PHP gayet posta gönderebilirsiniz. Sunucuda, form gönderme üzerine bu hatayı alıyorum:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp___port" setting in php.ini or use ini_set() in
... Benim dosya izledi.
I don't understand why it's referencing "localhost." Nowhere php.ini veya sendmail.ini "localhost" kullanılmıştır gelmez - Ben posta sunucusunun adını kullanın. Her iki makinelerde kullanılan SMTP bilgiler aynıdır.
Bildiğim kadarıyla söyleyebilirim, iki ortamlarda ortak önemli şeyi var:
- Php.ini dosyalar aynıdır
- Sendmail.ini dosyalar aynıdır
- Her iki makine yüklü XAMPP aynı sürümüne sahip
- Aynı toplu komut dosyası hem de makinelerde çalıştırmak ve başarılı
sendmail.exe
üzerinden e-posta göndereceğiz
Eminim o güncellenmiş yapılandırma dosyaları kullanıyor olmak için birkaç kez durdu ve Apache başladı.
Ben yukarıdaki hatası alıyorum, ben günlük dosyası bana koşmak asla düşündürüyor sendmail.exe, tarafından üretilen olduğunu fark.
Ne eksik?
Solved
Benim sorunum ben c:\xampp\php\php.ini
kullandığını düşündüm oldu, ama aslında c:\xampp\apache\bin\php.ini
kullanıyordum. Bu açık olmalıydı ve ben daha önce benim yerel makinede doğru dosya editörlüğünü yapmıştı, ancak sunucu üzerinde değişiklik yaparken nedense kafam karıştı.
php_info()
yapılandırma dosyası yüklendi bana gösterdi, ve ben doğru bir düzenlenebilir kullanma. Şu an çalışıyor! Yardımlarınız için teşekkürler herkese.