Arka plan: Geliştirme amaçlı bir yerel apache sunucusu kurduysanız, sendmail'in e-posta göndermesi uzun sürdüğü (en az bir dakika) sorunla karşılaşmış olabilirsiniz. Oluşturduğunuz bir e-posta ile ilgili bir sorunu ayıklamaya çalışıyorsanız, bu son derece sinir bozucudur.
İnternette bu sorunu tartışan birkaç forum yazısı var. Ancak, hiçbir tema sınırlı bilgim için yeterince ayrıntılı olarak ne yapılması gerektiğini açıklamadı. İşte benim için işe yarayan adımlar:
1) bu komutu kullanarak ana bilgisayar adınızı (unutmuş olabilirsiniz) bulun:
:~$ cat /hosts/hostname
myhostname
2) dosyayı düzenleyin /etc/hosts
ve ilk satırın aşağıdaki olduğundan emin olun:
127.0.0.1 localhost.localdomain localhost myhostname
3) sendmail yapılandırma dosyasını düzenleyin ( /etc/mail/sendmail.cf
Ubuntu'da) ve Satırı uncomment#O HostsFile=/etc/hosts
4) Bilgisayarı yeniden başlatın. Bilgisayar şimdi daha hızlı açılmalı ve mail () işlevi neredeyse hemen dönmelidir. Ancak, 5. adımı izlemediğiniz sürece e-postalar aslında gönderilmez.
5) Her posta işlevini kullanırken sendmail '-f' seçeneğini kullanmalısınız. Örneğin:
mail('recipient@somewhere.com', 'the subject', 'the message', null, '-fsender@somewhere.com');
Sunucu arkadaşlarım için sorum şu:
Sendmail -f seçeneğini kullanmama gerek kalmadan başka hangi değişiklikler yapılabilir? -F seçeneğini eklemek çok zor olmasa da, CMS'nizin (Drupal gibi) posta gönderirken -f seçeneğini kullanmaması bir problemdir. Bu seçeneği eklemek için bir çekirdek modülü kırmanız gerekir.
cat /etc/hostname