Skocz do zawartości
noutilus12

Funkcja PHP mail()

Polecane posty

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?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mynetworks - dodaj jeszcze IP serwera/32, masz prawidłowo ustawiony revDNS?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Adres poczty wychodzącej masz wpisany cośtam@gmail.com.

W obecnej konfiguracji skryptu próbujesz wysłać pocztę nie poprzez SMTP gmaila,

a bezpośrednio do serwera odbiorcy. A on twierdzi zapewne, że IP twojego serwera

nie ma uprawnień do bezpośredniej wysyłki poczty z Gmail, więc wiadomości odrzuca.

Żeby wysyłać w takiej konfiguracji maile musisz poprawnie skonfigurować ustawienia SMTP

w skrypcie (podać tam dane do swojego konta google, pamiętając o odpowiednim ustawieniu portu,

bo standardowe 25 nie przejdzie).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam.

 

Jednak dodatkowa konfiguracja nie była wymagana :-) Po sprzętowym reboocie systemu postfix zaczął działać normalnie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam

 

Chcę się podczepić pod ten temat. Mam problem z wysyłką maili właśnie przez funkcję mail (SMTP nie testowałem) - nie dochodzą na żadna skrzynkę, choć funkcja zwraca true.

Dodam, że normalnie serwer pocztowy działa, ponieważ przez RoundCube czy programy pocztowe normalnie wysyłam maile.

 

To jest mój plik 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 (Debian/GNU)
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 = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.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.

myhostname = damiszym.pl
alias_maps = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
alias_database = hash:/etc/aliases, hash:/var/lib/mailman/data/aliases
myorigin = /etc/mailname
mydestination = damiszym.pl, localhost, localhost.localdomain
relayhost =
mynetworks = 127.0.0.0/8 [::1]/128 185.17.41.220/32
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains =
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf, hash:/var/lib/mailman/data/virtual-mailman
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
inet_protocols = all
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_tls_security_level = may
transport_maps = hash:/var/lib/mailman/data/transport-mailman, proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_do$
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
smtpd_client_message_rate_limit = 100
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = maildrop
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
owner_request_special = no
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
message_size_limit = 0

Dodałem do mynetworks IP serwera z /32 (co widać pewno). Jako systemu pocztowego używam courier. Jeśli chodzi o revDNS, to nie mogę go u siebie zmienić, a sprawdzając trace'a mam wpisanego jako:

d41220.vibiznes.pl

Czy właśnie to mam wpisać dodatkowo do mydestination ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość

sprawdź jeszcze logi po próbie wysłania, powiedzą pewno więcej :)

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Taki log mam wysyłając na 2 maile (funkcją mail) - jeden na interii a drugi na gmail:

Jul  8 08:42:11 damiszym postfix/pickup[32136]: 02CF01A245E: uid=5004 from=<web1>
Jul  8 08:42:11 damiszym postfix/cleanup[8129]: 02CF01A245E: message-id=<20130708064211.02CF01A245E@damiszym.pl>
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 02CF01A245E: from=<web1@damiszym.pl>, size=351, nrcpt=1 (queue active)
Jul  8 08:42:11 damiszym postfix/pickup[32136]: 077EF1A245F: uid=5004 from=<web1>
Jul  8 08:42:11 damiszym postfix/cleanup[8129]: 077EF1A245F: message-id=<20130708064211.077EF1A245F@damiszym.pl>
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 077EF1A245F: from=<web1@damiszym.pl>, size=346, nrcpt=1 (queue active)
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: connect from localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: 51E371A245D: client=localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym postfix/cleanup[8129]: 51E371A245D: message-id=<20130708064211.02CF01A245E@damiszym.pl>
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 51E371A245D: from=<web1@damiszym.pl>, size=804, nrcpt=1 (queue active)
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: disconnect from localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym amavis[868]: (00868-14) Passed CLEAN, <web1@damiszym.pl> -> <damian.szymczuk@gmail.com>, Message-ID: <20130708064211.02CF01A245E$
Jul  8 08:42:11 damiszym postfix/smtp[8131]: 02CF01A245E: to=<damian.szymczuk@gmail.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.35, delays=0/0/0/0.34$
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 02CF01A245E: removed
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: connect from localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: 5815E1A245E: client=localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym postfix/cleanup[8129]: 5815E1A245E: message-id=<20130708064211.077EF1A245F@damiszym.pl>
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 5815E1A245E: from=<web1@damiszym.pl>, size=789, nrcpt=1 (queue active)
Jul  8 08:42:11 damiszym postfix/smtpd[8134]: disconnect from localhost.localdomain[127.0.0.1]
Jul  8 08:42:11 damiszym amavis[867]: (00867-15) Passed CLEAN, <web1@damiszym.pl> -> <icemanspy@interia.pl>, Message-ID: <20130708064211.077EF1A245F@dami$
Jul  8 08:42:11 damiszym postfix/smtp[8152]: 077EF1A245F: to=<icemanspy@interia.pl>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.41, delays=0/0/0/0.4, dsn=$
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 077EF1A245F: removed
Jul  8 08:42:11 damiszym postfix/smtp[8156]: 5815E1A245E: to=<icemanspy@interia.pl>, relay=mx.interia.pl[217.74.65.64]:25, delay=0.3, delays=0.07/0.02/0.$
Jul  8 08:42:11 damiszym postfix/cleanup[8129]: A565D1A2460: message-id=<20130708064211.A565D1A2460@damiszym.pl>
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: A565D1A2460: from=<>, size=2791, nrcpt=1 (queue active)
Jul  8 08:42:11 damiszym postfix/bounce[8157]: 5815E1A245E: sender non-delivery notification: A565D1A2460
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: 5815E1A245E: removed
Jul  8 08:42:11 damiszym postfix/local[8158]: A565D1A2460: to=<web1@damiszym.pl>, relay=local, delay=0.01, delays=0/0.01/0/0, dsn=2.0.0, status=sent (del$
Jul  8 08:42:11 damiszym postfix/qmgr[1591]: A565D1A2460: removed

Przykro mi, ale za dużo to one mi nie mówią. Testując na CMS Concrete 5, gdzie mogę ustawić SMTP na istniejące konto, bez szyfrowania, na porcie 25 dostaję takie logi:

Jul  8 08:50:01 damiszym postfix/smtpd[8742]: connect from unknown[::1]
Jul  8 08:50:01 damiszym postfix/smtpd[8742]: lost connection after CONNECT from unknown[::1]
Jul  8 08:50:01 damiszym postfix/smtpd[8742]: disconnect from unknown[::1]
Jul  8 08:50:01 damiszym pop3d: Connection, ip=[::1]
Jul  8 08:50:01 damiszym pop3d: Disconnected, ip=[::1]
Jul  8 08:50:01 damiszym imapd: Connection, ip=[::1]
Jul  8 08:50:01 damiszym imapd: Disconnected, ip=[::1], time=0
Jul  8 08:50:03 damiszym postfix/smtpd[8742]: connect from damiszym.pl[185.17.41.220]
Jul  8 08:50:03 damiszym postfix/smtpd[8742]: 38CD41A245D: client=damiszym.pl[185.17.41.220], sasl_method=LOGIN, sasl_username=kontakt@bartekmyca.pl
Jul  8 08:50:03 damiszym postfix/cleanup[8748]: 38CD41A245D: message-id=<20130708065003.38CD41A245D@damiszym.pl>
Jul  8 08:50:03 damiszym postfix/qmgr[1591]: 38CD41A245D: from=<concrete5-noreply@nowa.bartekmyca.pl>, size=1020, nrcpt=1 (queue active)
Jul  8 08:50:03 damiszym postfix/smtpd[8742]: disconnect from damiszym.pl[185.17.41.220]
Jul  8 08:50:04 damiszym postfix/smtpd[8752]: connect from localhost.localdomain[127.0.0.1]
Jul  8 08:50:04 damiszym postfix/smtpd[8752]: 0A3641A245E: client=localhost.localdomain[127.0.0.1]
Jul  8 08:50:04 damiszym postfix/cleanup[8748]: 0A3641A245E: message-id=<20130708065003.38CD41A245D@damiszym.pl>
Jul  8 08:50:04 damiszym postfix/qmgr[1591]: 0A3641A245E: from=<concrete5-noreply@nowa.bartekmyca.pl>, size=1473, nrcpt=1 (queue active)
Jul  8 08:50:04 damiszym postfix/smtpd[8752]: disconnect from localhost.localdomain[127.0.0.1]
Jul  8 08:50:04 damiszym amavis[867]: (00867-16) Passed CLEAN, [185.17.41.220] [185.17.41.220] <concrete5-noreply@nowa.bartekmyca.pl> -> <damian.szymczuk@gmail.com>, Messag$
Jul  8 08:50:04 damiszym postfix/smtp[8749]: 38CD41A245D: to=<damian.szymczuk@gmail.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.83, delays=0.05/0/0/0.78, dsn=2.0.0, sta$
Jul  8 08:50:04 damiszym postfix/qmgr[1591]: 38CD41A245D: removed
Jul  8 08:50:34 damiszym postfix/smtp[8753]: connect to gmail-smtp-in.l.google.com[2a00:1450:4001:c02::1a]:25: Connection timed out
Jul  8 08:50:35 damiszym postfix/smtp[8753]: 0A3641A245E: to=<damian.szymczuk@gmail.com>, relay=gmail-smtp-in.l.google.com[173.194.70.26]:25, delay=31, delays=0/0/31/0.62, $
Jul  8 08:50:35 damiszym postfix/qmgr[1591]: 0A3641A245E: removed
Jul  8 08:50:51 damiszym imapd: Connection, ip=[::1]
Jul  8 08:50:51 damiszym imapd: LOGIN, user=kontakt@bartekmyca.pl, ip=[::1], port=[43933], protocol=IMAP
Jul  8 08:50:51 damiszym imapd: LOGOUT, user=kontakt@bartekmyca.pl, ip=[::1], headers=0, body=0, rcvd=92, sent=444, time=0
Jul  8 09:03:03 damiszym postfix/smtpd[10438]: connect from damiszym.pl[185.17.41.220]
Jul  8 09:03:04 damiszym postfix/smtpd[10438]: 096651A245D: client=damiszym.pl[185.17.41.220], sasl_method=LOGIN, sasl_username=kontakt@bartekmyca.pl
Jul  8 09:03:04 damiszym postfix/cleanup[10441]: 096651A245D: message-id=<20130708070304.096651A245D@damiszym.pl>
Jul  8 09:03:04 damiszym postfix/qmgr[1591]: 096651A245D: from=<concrete5-noreply@nowa.bartekmyca.pl>, size=1019, nrcpt=1 (queue active)
Jul  8 09:03:04 damiszym postfix/smtpd[10438]: disconnect from damiszym.pl[185.17.41.220]
Jul  8 09:03:04 damiszym postfix/smtpd[10445]: connect from localhost.localdomain[127.0.0.1]
Jul  8 09:03:04 damiszym postfix/smtpd[10445]: D210B1A245E: client=localhost.localdomain[127.0.0.1]
Jul  8 09:03:04 damiszym postfix/cleanup[10441]: D210B1A245E: message-id=<20130708070304.096651A245D@damiszym.pl>
Jul  8 09:03:04 damiszym postfix/qmgr[1591]: D210B1A245E: from=<concrete5-noreply@nowa.bartekmyca.pl>, size=1472, nrcpt=1 (queue active)
Jul  8 09:03:04 damiszym amavis[868]: (00868-16) Passed CLEAN, [185.17.41.220] [185.17.41.220] <concrete5-noreply@nowa.bartekmyca.pl> -> <damian.szymczuk@gmail.com>, Messag$
Jul  8 09:03:04 damiszym postfix/smtp[10442]: 096651A245D: to=<damian.szymczuk@gmail.com>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.91, delays=0.05/0.01/0/0.84, dsn=2.0.0,$
Jul  8 09:03:04 damiszym postfix/qmgr[1591]: 096651A245D: removed
Jul  8 09:03:04 damiszym postfix/smtpd[10445]: disconnect from localhost.localdomain[127.0.0.1]

Proszę o pomoc lub podpowiedź.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy domena damiszym.pl jest Twoja?? Z rejestru nask wynika, że jest niczyja. Jakiej treści są zwrotki z googla i interii (moglbys wklieć ich treść)??

 

EDIT: bartekmyca.pl dla tej domeny nie można pobrać rekordu soa, jednym słowem dnsy do poprawki.

Edytowano przez mmmm21 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

damiszym.pl nie jest moją domeną, taki wpis został mi nadany wykupując VPSa w vihost.

 

Maile w ogóle nie dochodzą, takze żadnej zwrotki nie wkleje. Przez RoundCube'a normalnie wychodzą.

 

SOA mam wpisany dla tej domeny: ns1.vidns.pl admin.vidns.pl 2013070508 14400 3600 604800 86400 (u rejestratora domeny mam wpisane DNSy jako ns1.vidns.pl i ns2.vidns.pl)

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zerknij

http://www.intodns.com/bartekmyca.pl

są błędy w konfiguracji dns, jeżeli tego nie naprawisz emaile mogą do Ciebie nie przychodzić. Jak chcesz otrzymywać emaile dla damiszym.pl skoro ta domena nie jest Twoja.

Edytowano przez mmmm21 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×