Autor Zpráva
smiesek
Profil
Našla jsem na internetu několik návodů pro testování odesílání e-mailu na localhostu.
Používám XAMPP a k tomu jsem si stahla smtp4dev.

Následně jsem zapla smtp4dev, ale po odeslání testovacího e-mailu mi nic nepříjde, ještě je nutné prosím někde něco přímo nastavovat? Nebo upravit?

Nebo je to tím, že pokaždé když spustím smtp4dev mi to blokuje brána windows?
Jan Tvrdík
Profil
smiesek:
Píše ti smtp4dev dole vlevo „Listening on port 25“? Koukni phpinfo na hodnoty SMTP a smtp_port. Mělo by tam být něco jako localhost a 25. A ano, musíš ten program odblokovat ve firewallu.
smiesek
Profil
Ano, píše mi to a hodnoty taky odpovídají, tedy pokusím se ještě o to odblokování

Jinak v souboru php.ini jsem ještě navíc odkomentovala

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = localhost
smtp_port = 25

Děkuju

edit: tak jsem to i odblokovala a nezobrazí se nic.

Předpokládám, že je jedno jaká je nastavena e-mailová adresa odesílatele a příjemce, že to by se právě mělo zobrazit v tom programu, či je nějaký standardní e-mail příjemce (tedy localu)?

A ještě by možná stálo za zmínku, že to testuji na systému phpBB, kdy jsem se chtěla podívat, jaké e-maily budou chodit a jaké ne.
Je to tedy reálně nebo pouze to slouží pro vlastní formuláře?
Jan Tvrdík
Profil
smiesek:
testuji na systému phpBB
PhpBB detailně neznám. Není tam někde v nastavení něco o SMTP?

Zkus schválně spustit jednoduchý skript, který bude obsahovat
<?php
mail('john@example.com', 'my subject', 'my message');



Nebo místo smtp4dev můžeš vyzkoušet taky www.toolheap.com/test-mail-server-tool
smiesek
Profil
vytvořila jsem soubor a vložila do něj script, který jste mi zde napsal.
Následně jsem jej zadala do stránky, pro zobrazení, ale nic se nestalo.

Program blokovaný již nemám bránou a samozřejmě na XAMPP mám spuštěno jak MySQL tak APACHE mám taky :(

Test Mail Server Tool jsem taky zkoušela, ale bez výsledku
smiesek
Profil
Kde hledat ještě prosím chybu, když mi to neodešle ani ten základní script e-amilu a nejde ani přes test mail server tool?
Jan Tvrdík
Profil
smiesek:
Co píše to volání funkce mail za chybu? Poslouchá skutečně test testovací server na portu 25? Lze to zjistit příkazem netstat -ab.
smiesek
Profil
nic mi to za chybu nepíše, nejde to ani přes smtp4dev, ani test mail server tool

A poslouchá, viz obrázek


příkaz nemohu otestovat, nevím jak a kam jej zadat.
smiesek
Profil
tak jsem již příkaz nějak dohledala a zadala a vypsalo to několik řádků, ale port 25 jsem nikde nenašla :(
smiesek
Profil
Mám podezření tedy, že mi celkově nefunguje zachytávání e-mailů.

Postačí mi pouze zachycení, vytváření a používání nastavení e-mailu a e-mailového klienta není pro mě důležité.

Kde tedy ještě prosím hledat chybu, proč mi to nejde?
Jan Tvrdík
Profil
smiesek:
Projdi si moje příspěvky ještě jednou. Funkce mail buď mail neodešle a skončí chybou nebo odešle tomu, kdo poslouchá na portu specifikovaném v php.ini.
smiesek
Profil
Jan Tvrdík:
já už právě prosím netuším, kde jinde hledat chybu

postupovala jsem:

1. v souboru php.ini jsem odkomentovala
SMTP = localhost
smtp_port = 25

2. použila program
smtp4dev, který jsem spustila a následně povolila pro firewall, v oznamovací oblasti se mi zobrazuje "listening on: 25"

3. spustila jsem zadáním do prohlížeče testovací script, který jste mi zde vložil zadáním URL adresy "localhost/works/mail.php"

po potvrzení adresy se mi stále zobrazuje bílá stránka (pochopitelné), ale nic už dále jiného se neděje, nepříjde žádné oznámení, ani se nezobrazí žádná chyba.

Nebo je moje chyba, že soubor mail.php obsahuje pouze ty dva řádky, které jsme mi zde vypsal pro jednoduchý script?
Kajman
Profil
smiesek:
se mi stále zobrazuje bílá stránka

A je něco v error logu apache?
smiesek
Profil
Kajman:
ano, ten je zahlcený záznamy, ale poslední je k datu 15.8.2014, tedy nic co by se vztahovalo k datu, od kdy jsem začala řešit zachytávání mail
smiesek
Profil
pokud zapínám xampp a mám spuštěný smtp4dev, tak se mi v okně xamppu zobrazuje následující:

5:17:57 [main] Initializing Control Panel
5:17:57 [main] Windows Version: Windows Vista Business SP2 32-bit
5:17:57 [main] XAMPP Version: 1.8.3
5:17:57 [main] Control Panel Version: 3.2.1 [ Compiled: May 7th 2013 ]
5:17:57 [main] You are not running with administrator rights! This will work for
5:17:57 [main] most application stuff but whenever you do something with services
5:17:57 [main] there will be a security dialogue or things will break! So think
5:17:57 [main] about running this application with administrator rights!
5:17:57 [main] XAMPP Installation Directory: "c:\xampp\"
5:17:57 [main] Checking for prerequisites
5:17:57 [main] All prerequisites found
5:17:57 [main] Initializing Modules
5:17:57 [Apache] XAMPP Apache is already running on port 80
5:17:57 [Apache] XAMPP Apache is already running on port 443
5:17:57 [mysql] XAMPP MySQL is already running on port 3306
5:17:57 [mercury] Problem detected!
5:17:57 [mercury] Port 25 in use by "Unable to open process" with PID 2200!
5:17:57 [mercury] Mercury WILL NOT start without the configured ports free!
5:17:57 [mercury] You need to uninstall/disable/reconfigure the blocking application
5:17:57 [mercury] or reconfigure Mercury and the Control Panel to listen on a different port

5:17:57 [main] Starting Check-Timer
5:17:57 [main] Control Panel Ready

přesto v xamppu mám zapnuto pouze apache a mysql, může zde být potíž?
abc
Profil
Otevři si správce úloh, přepni na záložku procesy.
V menu ve volbě Zobrazit vyber Vybrat sloupce a přidej si sloupec PID.
Potom v procesech najdi ten, který má PID 2200
smiesek
Profil
abc:
asi to nebude ten problém po restartu NTB se mi již PID u žádného procesu nezobrazuje, stejně tak jako řádky v xampp.
Přesto problém ani po restartu se zachycením mail nefunguje :(

Už netuším, kde hledat potíž
Mike8748
Profil
smiesek:
podle toho logu XAMPPu bych řekl že problém je v tom že smtp4dev spouštíš až po spuštění XAMPPu, který ale obsahuje smtp server Mercury Mail Transport System a smtp4dev tě neupozorní na to že port 25 je již obsazen.
emaily jsou potom zpracovávány právě Mercury a smtp4dev už nemá co zachytávat.

takže buď Mercury odinstaluj, nebo změň jeho konfiguraci ať používá jiný port než 25. pak ti smtp4dev možná začne fungovat tak jak by měl
smiesek
Profil
Mike8748:
snažím se tedy dohledat, jak změnit port pro Mercury, ale netušila jsem, že problém je i v tom případě, kdy jej vůbec (Mercury) nespouštím? Už tím je přesto port25 pro něj přiřazený?
Ano, jinak po XAMPP jinak právě spouštím smtp4dev a je pravda, že tedy nyní mi PID se zase vypisuje na jiné hodnotě, tak asi bude nějaká kolize tady, PID se vypisuje právě u toho smtp4dev v procesech ve správce úloh
Marschmallow
Profil
smiesek:
Nejdříve spusť smtp4dev a až potom XAMPP.
smiesek
Profil
Marschmallow:
ano, to jsem se již pokoušela a zobrazilo se mi v xampp následující, samozřejmě se nic nezachytilo

18:57:07 [main] Initializing Control Panel
18:57:07 [main] Windows Version: Windows Vista Business SP2 32-bit
18:57:07 [main] XAMPP Version: 1.8.3
18:57:07 [main] Control Panel Version: 3.2.1 [ Compiled: May 7th 2013 ]
18:57:07 [main] You are not running with administrator rights! This will work for
18:57:07 [main] most application stuff but whenever you do something with services
18:57:07 [main] there will be a security dialogue or things will break! So think
18:57:07 [main] about running this application with administrator rights!
18:57:07 [main] XAMPP Installation Directory: "c:\xampp\"
18:57:07 [main] Checking for prerequisites
18:57:17 [main] All prerequisites found
18:57:17 [main] Initializing Modules
18:57:17 [mercury] Problem detected!
18:57:17 [mercury] Port 25 in use by "C:\Users\smiesek\Desktop\smtp4dev.exe" with PID 824!
18:57:17 [mercury] Mercury WILL NOT start without the configured ports free!
18:57:17 [mercury] You need to uninstall/disable/reconfigure the blocking application
18:57:17 [mercury] or reconfigure Mercury and the Control Panel to listen on a different port

18:57:17 [main] Starting Check-Timer
18:57:17 [main] Control Panel Ready
18:57:51 [Apache] Attempting to start Apache app...
18:57:51 [Apache] Status change detected: running
18:57:57 [mysql] Attempting to start MySQL app...
18:58:00 [mysql] Status change detected: running

změnila jsem port mercury, nyní se již nic nevypisuje, ale nic se nezachytí :(

v php mám následující
<?php
mail('john@example.com', 'my subject', 'my message');

či je ještě nutné někde zadat e-mail příjemce, když mi jde pouze o zachycení?

tak nefunguje ani následující
<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>

přesto se vypíše, že bylo odesláno, ale mě se v smtp4dev nic nezobrazí :(
Davex
Profil
smiesek:
Já mám XAMPP verzi 1.8.1 a tam ve výchozím stavu končí odeslané e-maily v adresáři xampp\mailoutput.

Pokud to chceš změnit a používat smtp4dev, tak se kromě odkomentování SMTP = localhost a smtp_port = 25 musí ještě udělat další změny v php.ini.

;; zakomentovat řádek
; sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

;; přidat řádek s adresou odesílatele e-mailů
sendmail_from = odesilatel@example.com
smiesek
Profil
Davex:
super, chytá se, tedy zachytává se. Moc děkuju, stejně tak jako i ostatním, kteří se zapojili do diskuse mi pomoci.

Vyřešeno :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: