Saya mencoba mengirim email menggunakan mail()fungsi php tetapi gagal entah bagaimana, mengeluh bahwa nama domain yang sebenarnya diperlukan. Berikut ini diamati di maillog:
sendmail 4984 r25984: from = apache, size = 273, class = 0, nrcpts = 1, msgid = <201.r25@localhost.localdomain>, relay = apache @ localhost
sendmail 4985 r25985: ruleset = check_mail, arg1 =, relay = mydomain.com [127.0.0.1], reject = 553 5.5.4 ... Nama domain asli diperlukan untuk alamat pengirim
sendmail 4984 r25984: to=external@server.com, ctladdr = apache (48/48), delay = 00: 00:01, xdelay = 00: 00: 00, mailer = relay, pri = 30273, relay = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = Kesalahan format data
sendmail 4984 r25984: r25984: DSN: Kesalahan format data
cron dapat mengirim email ke external@server.com setiap kali ada masalah dengan logrotate. Saya tidak yakin mengapa php tidak dapat melakukannya. Saya mencoba membuat perubahan pada konfigurasi default di `sendmail.mc dengan yang berikut:
MASQUERADE_AS(`mydomain.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(localhost)dnl
MASQUERADE_DOMAIN(localhost.localdomain)dnl
MASQUERADE_DOMAIN(mycom)dnl
Tapi, sepertinya itu tidak berpengaruh. Header dari alamat di fungsi email php telah ditetapkan. Saya juga memastikan bahwa SELinux httpd_can_sendmaildiaktifkan. Apa lagi yang harus saya lakukan untuk mengirim surat?
dnldi depan mereka.
mail()? Dan, sendmail.mcini bukan file konfigurasi yang tepat, file ini harus dikompilasi menjadi sendmail.cfmenggunakan m4.
sendmail.mc, mengubah barislocalhost.localdomaindanlocalhostmenjadi sesuatu yang bermakna dan mengkompilasi file mcsendmail.cf?