Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Funkcja PHP mail() nie obsługuje wszystkich skrzynek pocztowych


Przejdź do rozwiązania Rozwiązane przez noutilus,

Rekomendowane odpowiedzi

Opublikowano

Witam.

 

Po przeszukaniu zasobów Google znalazłem co prawda masę problemów, które wynikały z ustawień e-mail jednak nie znalazłem informacji, która zaspokoiła by moje potrzeby dotyczące funkcji mail().

 

Przed opisaniem mojego problemu chciał bym napisać że skrypt został zainstalowany i skonfigurowany na serwerze dedykowanym. Zainstalowałem na nim postfixa (nie wiem czy w ogóle wpływa jakoś na działanie funkcji mail()) ale co prawda wolałem go uruchomić, posiada on właściwie domyślną konfigurację zalecaną przez terminalowy instalator.

 

Kilka informacji technicznych:

 

plik php.ini (dotyczy funkcji mail)

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from =

Ustawienia e-mail w PA

xSK.png

 

 

 

Konfiguracja postfix main.cf

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = ks*******.kimsufi.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = ks*******.kimsufi.com, localhost.kimsufi.com, , localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all 

Mój problem polega n tym że funkcja mail() działa poprawnie na skrzynce pocztowej WP, natomiast Gmail oznaczą ją jako spam. Na poczte o2 i onet mail w ogóle nie dochodzi. Pytanie brzmi czemu i z czego wynika ten błąd?

 

  • Manager
Opublikowano

Widzę dużą wiedzę, ale brak tej podstawowej - przecież nie ma czegoś takiego, że mail() nie działa na jakimkolwiek serwerze gdzie są wysyłane maile przy jej pomocy. To sprawa serwera pocztowego - może oznacza Twoje maile jako spam?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

Hmm... Sprawdziłem za pomocą skryptu php, wysyłanie wiadomości.

 

Wynik jest ten sam wiadomość dochodzi bez problemów na WP, Gmaila (tym razem nie do spamu), na o2, Onet w ogóle nie dociera. Bardzo możliwe że problem spowodowany jest tym że wiadomości wychodzące są oznaczane jako spam, ale dla czego? Zachodzi potrzeba stworzenia certyfikatu?

<?php
$Name = "noutilus"; //nazwa adresata
$email = "[email protected]"; //email adresata
$recipient = "[email protected]"; //email odbiorcy
$mail_body = "Treść wiadomości"; //Tresc wiadomosci
$subject = "Test funkcji email"; //Temat wiadomosci
$header = "From: ".$Name." <".$email.">\r\n"; //naglowki
if ( mail($recipient, $subject, $mail_body, $header) )
echo 'Email wysłano';
else
echo 'Błąd nie można wysłać wiadomości'

?>
Edytowane przez noutilus
  • Rozwiązanie
Opublikowano

Błąd, został rozwiązany. Wszystko było ok, tylko musiałem wykonać dodatkowy reboot sprzętowy systemu.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.