Ben php mail()
işlevini kullanarak bir e-posta göndermeye çalıştı ama bir şekilde, gerçek bir etki alanı adı gerekli şikayet başarısız oldu. Posta günlüğünde aşağıdakiler gözlenir:
sendmail 4984 r25984: from = apache, boyut = 273, sınıf = 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], reddet = 553 5.5.4 ... Gönderen adresi
sendmail 4984 r25984 için gerçek etki alanı adı gerekiyor : to=external@server.com, ctladdr = apache (48/48), gecikme = 00: 00:01, xdelay = 00: 00: 00, postacı = geçiş, pri = 30273, geçiş = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = Veri biçimi hatası
sendmail 4984 r25984: r25984: DSN: Veri formatı hatası
cron, logrotate ile ilgili bir sorun olduğunda external@server.com adresine e-posta gönderebilir. Ben php neden bunu yapamıyor emin değilim. `Sendmail.mc dosyasında varsayılan yapılandırmada aşağıdaki değişiklikleri yapmayı denedim:
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
Ancak, bunun bir etkisi yok gibi görünüyor. Php mail işlevindeki adresten başlık zaten ayarlanmış. SELinux'un httpd_can_sendmail
etkinleştirilmesini de sağladım . Postayı teslim almak için başka ne yapmam gerekir?
dnl
önlerinden kaldırarak uncommented ettim .
mail()
? Ve, sendmail.mc
bu dosyanın içine derlenmiş olmalıdır, uygun yapılandırma dosyası değil sendmail.cf
kullanarak m4
.
sendmail.mc
satırlarılocalhost.localdomain
velocalhost
anlamlı bir şeyi değiştirdiniz ve mc dosyasını derledinizsendmail.cf
mi?