Latar Belakang: Jika Anda telah menyiapkan server apache lokal untuk tujuan pengembangan, Anda mungkin mengalami masalah ketika sendmail membutuhkan waktu lama (setidaknya satu menit) untuk mengirim email. Ini sangat menyebalkan jika Anda mencoba men-debug masalah dengan email yang Anda buat.
Ada beberapa posting forum di internet yang membahas masalah ini. Namun, tidak ada tema yang menjelaskan apa yang harus dilakukan dengan cukup detail untuk pengetahuan saya yang terbatas. Inilah langkah-langkah yang berhasil bagi saya:
1) temukan nama host Anda (seandainya Anda lupa) menggunakan perintah ini:
:~$ cat /hosts/hostname
myhostname
2) edit file /etc/hosts
dan pastikan baris pertama adalah sebagai berikut:
127.0.0.1 localhost.localdomain localhost myhostname
3) edit file konfigurasi sendmail ( /etc/mail/sendmail.cf
di Ubuntu) dan Batalkan komentar pada baris#O HostsFile=/etc/hosts
4) Nyalakan kembali komputer. Komputer seharusnya boot lebih cepat sekarang dan fungsi mail () akan segera kembali. NAMUN, email tidak akan benar-benar dikirim kecuali jika Anda mengikuti langkah 5.
5) Anda harus menggunakan opsi sendmail '-f' baru setiap kali menggunakan fungsi mail. Sebagai contoh:
mail('recipient@somewhere.com', 'the subject', 'the message', null, '-fsender@somewhere.com');
Pertanyaan saya untuk sesama serverfaulter saya adalah:
Perubahan apa lagi yang bisa dilakukan sehingga saya tidak harus menggunakan opsi sendmail -f? Meskipun tidak terlalu sulit untuk menambahkan opsi -f, itu adalah masalah ketika CMS Anda (seperti Drupal) tidak menggunakan opsi -f saat mengirim email. Anda perlu meretas modul inti untuk menambahkan opsi ini.
cat /etc/hostname