Próbowałem wysłać wiadomość e-mail za pomocą mail()
funkcji php, ale jakoś się nie udało, narzekając, że wymagana jest prawdziwa nazwa domeny. W maillogu obserwuje się:
sendmail 4984 r25984: from = apache, rozmiar = 273, klasa = 0, nrcpts = 1, msgid = <201.r25@localhost.localdomain>, przekaźnik = apache @ localhost
sendmail 4985 r25985: zestaw reguł = check_mail, arg1 =, przekaźnik = mojadomena.com [127.0.0.1], odrzucenie = 553 5.5.4 ... Wymagana jest prawdziwa nazwa domeny dla adresu nadawcy
sendmail 4984 r25984: to=external@server.com, ctladdr = apache (48/48), opóźnienie = 00: 00:01, xdelay = 00: 00: 00, mailer = przekaźnik, pri = 30273, przekaźnik = [127.0.0.1] [127.0.0.1], dsn = 5.6.0, stat = Błąd formatu danych
sendmail 4984 r25984: r25984: DSN: Błąd formatu danych
cron może wysyłać wiadomości e-mail na adres zewnętrzny@server.com, ilekroć wystąpi problem z logrotate. Nie jestem pewien, dlaczego php nie może tego zrobić. Próbowałem wprowadzić zmiany w domyślnej konfiguracji w `sendmail.mc za pomocą:
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
Ale to nie wydaje się mieć żadnego efektu. Nagłówek z adresu w funkcji poczty php został już ustawiony. Upewniłem się również, że SELinux httpd_can_sendmail
jest włączony. Co jeszcze muszę zrobić, aby dostarczyć pocztę?
dnl
je przed nimi.
mail()
? I sendmail.mc
nie jest to właściwy plik konfiguracyjny, ten plik musi zostać skompilowany sendmail.cf
przy użyciu m4
.
sendmail.mc
, zmieniłeś linielocalhost.localdomain
ilocalhost
na coś znaczącego i skompilowałeś plik mcsendmail.cf
?