Geek tričko zdarma Geek tričko zdarma
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Avatar
Markéta
Člen
Avatar
Markéta:4. července 22:01

Ahoj,
teprve začínám s programováním v php a nefunguje mi odesílání mailů přes vytvořený formulář. Nechci ho nahrávat na webhosting, a tak jsem chtěla změnit nastavení v php.ini (mám nainstalovaný celý balíček XAMPP, operační systém Windows 10). Stále se mi zobrazuje chybová hláška:

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdoc­s\processorder\pro­cessfeedback.php on line 13

Zkusil jsem: Přitom v php.ini mám toto nastavení: (původní "STMP = localhost" mám přepsané, provedla jsem restart)

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

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
; sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog

Chci docílit: Nevím, co mám v souboru php.ini špatně, nebo v čem jiném by mohl být problém, a proto moc prosím o radu. Díky :-)

 
Odpovědět 4. července 22:01
Avatar
Jakub Žák
Člen
Avatar
Odpovídá na Markéta
Jakub Žák:5. července 11:08

Je to správný php.ini? Byl po změně php.ini restartován webserver?

Po vypsání nastavení php pomocí funkce phpinfo() se zobrazí správné nastavení?

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 5. července 11:08
Kuba je ajťák. Buď jako Kuba.
Avatar
Markéta
Člen
Avatar
Odpovídá na Jakub Žák
Markéta:5. července 22:59

Jo díky :-) nastavila jsem to ve špatném souboru v php.ini-development. Teď mi naskočil jiný problém z autorizací: Warning: mail(): SMTP server response: 550 5.7.1 Not authenticated, please use AUTH first. in C:\xampp\htdoc­s\processorder\pro­cessfeedback.php on line 33
a zase se mi nedaří to zprovoznit, prosím, nevíš jak na to?

 
Nahoru Odpovědět 5. července 22:59
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na Markéta
Martin Dráb:6. července 18:53

Tady je ohledně php.ini a odesílání mailů docela obsáhlá diskuze.
https://stackoverflow.com/…ame-password

Podle jedné odpovědi (asi třetí-čtvrtá) by mohlo stačit do php.ini do sekce mail function přidat i položky auth_username a auth_password a dát tam uživatelské jméno a heslo pro server Seznamu. Asi bys měla také doplnit položku sendmail_from (vypadá to, že je zakomentovaná), protože Seznam asi nepovolí odesílat anonymní emaily.

Nahoru Odpovědět 6. července 18:53
2 + 2 = 5 for extremely large values of 2
Avatar
Markéta
Člen
Avatar
Odpovídá na Martin Dráb
Markéta:7. července 19:38

Děkuju, vyzkouším to. :-)

 
Nahoru Odpovědět 7. července 19:38
Avatar
Jakub Žák
Člen
Avatar
Jakub Žák:7. července 19:48

Přesně tak, je potřeba vyplnit i jméno a heslo - naprostá většina SMTP serverů nepodporuje odesílání e-mailů bez přihlášení. Taky se u mnohých služeb musí shodovat odesílatel s uživatelem (nebo daný uživatel aspoň musí mít oprávnění zasílat e-maily z dané adresy).

Jelikož není jméno a heslo vyplněno, zkoušelo to rovnou bez přihlášení odeslat e-mail, což u Seznamu samozřejmě nejde ;)

Nahoru Odpovědět 7. července 19:48
Kuba je ajťák. Buď jako Kuba.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.