kyniu_84
14.12.2011, 17:26:51
Witam Was.Napisałem prosty skrypt w PHP,który za zadanie miał wysyłać formularz na moj mail.Skrypt przepisałem z ksiązki odpowiednio dopasowując go do mojego formularza.Od razu mowie ze jestem w PHP zielony jak szczypiorek na wiosne.Formularz napisany jest w xhtml zawiera znacznik <form> na początku formularza i kończy go, jestem przekonany ze z tym formularzem jest wszystko OK.Ten formularz na koncu ma przycisk wysyłający/przenoszący(metoda POST) do innego pliku który własnie jest napisany w PHP.I tutaj pojawia sie problem otóż skrypt a właściwie Dreamweaver w którym go napisałem nie zgłasza zadnego błędu,nic nie jest podkreslone na czerwono.Mimo to nie dostaje na maila zadnej wiadomosci,wiec formularz nie działa.Jak sie dowiedziałem wiekszosc,jesli nie wszystkie darmowe serwery maja zablokowana funkcję mail.Wiec zainstalowałem Krasnala zeby sprawdzic formularz na serwerze lokalnym.I dalej nie działa...czy ktos mógłby wskazać bląd tego skryptu?Będe bardzo wdzieczny.
CODE
<?php
if (isset($_POST['vor-und_nachname'])){
$from = "Web Formular <xxx@wp.pl>";
$to = "yyy@onet.eu";
$subject = "formularz zamowienia";
$message = " Customer name: " . $_POST['vor-und_nachname'] . "\r\n" .
" Vor- und Nachname: " . $_POST['vor-und nachname']. "\r\n" .
" Adresse: " . $_POST['adresse']. "\r\n" .
" Ort: " . $_POST['ORT']. "\r\n" .
" Bundesland: " . $_POST['bundesland']. "\r\n" .
" PLZ: " . $_POST['PLZ']. "\r\n" .
" Tel. " . $_POST['Tel']. "\r\n" .
" E-mail: " . $_POST['Email']. "\r\n " .
" Spitze: " . $_POST['szpic'];
$from = $_POST['email'];
$headers = "From: $from" . "\r\n";
$headers .= "Bcc: ".$_POST['Email']."\r\n";
$headers .= "Bcc: yyy@onet.eu" . "\r\n";
mail($to,$subject,$message,$headers);
}
?>
Shili
14.12.2011, 17:37:13
Wrzuć jeszcze kod html formularza. Dla większej pewności.
Sprawdź również jak masz raportowane błędy w tym Twoim Krasnalu.
Ustaw je odpowiednio w skrypcie .php
Czy masz ustawiony poprawnie server mailowy? W php.ini?
http://forum.php.pl/index.php?showtopic=55791
kyniu_84
14.12.2011, 19:10:15
Zmieniłem php.ini.Tamten uzytkownik podawał 5 tych plikow...ja wszedłem prawym przyciskiem na zielone piórko(czyli serwer krasnal)i wszedłem w ustawienia i tam był tylko jeden plik php.ini.Dokonałem zmian czyli
[mail function]
; For Win32 only.
SMTP = smtp.wp.pl
smtp_port = 25
; For Win32 only.
sendmail_from = moj_nick@wp.pl
zrestartowałem krasnala i dalej nic ,nie mam zadnego maila w skrzynce a jak wysyłam formularz to serwer nie zgłasza żadnego błedu czyli tak jak było to do tej pory.Ale zauważyłem ze moj serwer smstp jest zaznaczony ptaszkiem ale na fioletowym tle...nie wiem czy taki kolor powinien byc.Jak wchodze do programu pocztowego smtp to to jest taki prosty program ze nie idzie nic w nim zmienic i na dole jest tylko komunikat:
Waiting for connections on port#25,using DNS server:moje_IP
Nie wiem czy taki komunikat powinien byc próbuje połączyc się zamiast połączono.Jak mam to zmienic skoro ten program pocztowy nie oferuje prawie zadnych dodatkowych opcji?
Niktoś
14.12.2011, 20:33:21
Spróbuj zmienić port z 25 na 587
kyniu_84
14.12.2011, 21:06:07
Dalej nie dziala .Zmieniłem na 587 w smtp serverze i w php.ini.Nic to nie pomogło.Czy ktos z was ma zainstalowanego krasnala a wraz z nim Free smtp server?Jak powinno wygladac prawidlowo skonfigurowany serwer....moze ma taki byc komunikat czyli Waiting for connections ....a blad tkwi gdzie indziej moze w samym skrypcie?Prosze o dalszą pomoc
Niktoś
14.12.2011, 21:17:56
Spróbuj jeszcze port 465 ,popatrzyłem w ustawieniach wp.pl-jak nie pójdzie ,to znaczy że wymaga połączenia SSL.
kyniu_84
14.12.2011, 21:41:55
Tez nie dziala ...na forum znalazlem podobny wątek ale tez nikt nie byl wstanie pomoc
http://forum.php.pl/index.php?showtopic=156306zmienilem tego patcha w php.ini na C:/usr/SMTP Server/ i tez nie dziala.Pozostaje mi tylko ustawienia DNS-u w smtp serverze,jak to pokazane jest na filmie:
http://www.youtube.com/watch?v=dEc2uD3DjRUWszedłem wiec na
http://www.mojeip.net/ i skopiowałem IP ktore sie pokazało(czyli moje) i wpisałem w DNS SMTP servera dalej nic czyli ...Próbuje sie łączyć.
Przeprowadziłem chyba wszystkie mozliwe kombinacje i dalej nic.Moze ktos zainstalowac sobie tego Free SMTP Servera i powiedziec jak go skonfigurować?
Niktoś
14.12.2011, 21:59:45
Mi e-mail na gazeta.pl też nie chciał iść ,próbowałem wszystkiego.Mi działo się podobnie jak u Ciebie z wyjątkiem ,że dostawałem odpowiedź z serwera że przekroczono limit czasu połączenia,próbowałem taimingi ustawiać na większe,używać różnych portów z ssl i bez i na nic były te zabiegi ,więc założyłem sobie pocztę na gmail,gdzie głównie tej poczty używają webmasterzy do nadawania poczty i tam działa bez zarzutu.
Może załóż sobie pocztę na gmail.
kyniu_84
14.12.2011, 23:55:19
zaraz to zrobie. Mieliscie chyba racje wszystkie kona email maja obecnie uwierzytelnianie i zadna funkcja mail() nie zadziała przez te konta łącznie z wp,onet,o2- po kilku godzinach poszukiwań znalazłem w sieci ze czesto zdarzały się takie problemy i rozwiazaniem bylo konto w o2.pl Ale od niedawna tez jest tam uwierzytelnianie i tylko uzytkownicy starcyh kont moga wyłączyc ta funkcje.Pozostaje tylko gmail.Albo klasa w sama w sobie wysyłajaca maile czyli PHPMailera:
http://www.elektroda.pl/rtvforum/topic904345.htmlhttp://forum.webhelp.pl/poczatkujacy-webma...ww-t138876.htmlAle to póxniej uzyje PHPmailera sprobuje jeszce z gmail-lem.
No gmail ma uwierzytelnianie ,php mailer nie dziala,Swift tez...przeciez smtp serwer to serwer ktory na komputerze lokalnym powinien wysyłac maile ...poczytałem w necie i jeden z uzytkownikow napisał ze TP blokuje port 25,mam Neo wiec hcyba w tym tkwi problem.Jak tak dalej pojdzie to oszaleje.
TP zablokowało port 25 ale wolne jest 587 i 465 zainstalowałem ponowanie krasnala i w free smtp ustawiłem port 587.
Natomiast php.ini wyglada tak:
[mail function]
; For Win32 only.
SMTP =localhost
; For Win32 only.
sendmail_from =pablo@genesis.net.pl; For Unix only. You may supply arguments as well (default: 'sendmail -t -i').
;sendmail_path =
[Logging]
; These configuration directives are used by the example logging mechanism.
; See examples/README.logging for more explanation.
;logging.method = db
;logging.directory = /path/to/log/directory
I co powinienem jeszce zrobic w skrypcie php bo dalej jest $from = "Web Formular <xxx@wp.pl>";
XXX-to moj nick w wirtualnej polsce czy poporostu powinienem wpisac localhost?
Niktoś
15.12.2011, 14:58:56
sendmail_from =pablo@genesis.net.pl-tutaj ma być twój adres email z gmaila.
Jak nie zadziała to będziesz musiał użyć ssl.
Spróbuj tak:
SMTP = ssl:smtp.gmail.com
smtp_port =587
sendmail_from twojemail@gmail.com
auth_username = smtp-username -tu ma być nazwa użytkownika poczty
auth_password = smtp-password - tu ma być hasło do poczty.
kyniu_84
15.12.2011, 22:27:51
dałem sowj mail z gmaila, w free smtp zmieniłem na port 587 i dalej lipa.znalazlem w sieci ze w tym roku google tez wprowadzil uwierzytelnianie
http://niebezpiecznik.pl/post/google-wprow...ierzytelnienie/Dzieki Niktos za zainteresowanie mysle ze to cos moze dac...przyszedlem tylko na chwile sprawdzic forum,bo zaraz wyjezdzam i mnie dzisiaj nie bedzie ale jutro sprawdze Twoj sposob.
Niestety i to nie pomogło.Zrobiłem dokladnie jak w opisie czyli zmieniłem php.ini w c:/windows i usr/ini/php/4 jest tych plikow 5 ale zmieniłem w tych dwoch najważniejszych.W skrypcie $from tez napisałem moj mail z gmaila i dalej nic.Mozesz mi Niktos powiedziec jak dopisac do tego skryptu co juz mam funkcję error_raporting zeby była mozliwosc raportowania błędów.To by duzo dało.
potreb
15.12.2011, 22:33:40
Może ściągnij sobie phpmailer i będziesz mógł sobie wysyłać ile chcesz emaili z gmaila.
Co do raportowanie error_reporting(E_ALL);
kyniu_84
15.12.2011, 23:26:37
No php mailer tez nie dziala zastosowałem skrypt opisany w tym przykladzie zeby sprawdzic czy mi dziala phpmailer.Zasstosowałem skyrpt w rozdziale "PHPMailer w akcji" wpisujac oczywiscie wlasne dane:
http://videokurs.pl/artykuly/php/skrypt-ma...go-mailingu.phpI pojawia sie taki komunikat:
Warning: fsockopen(): no SSL support in this build in c:\usr\apache\httpd\html\phpmailer\class.smtp.php on line 122
Warning: fsockopen(): unable to connect to smtp.gmail.com:465 in c:\usr\apache\httpd\html\phpmailer\class.smtp.php on line 122
E-mail nie mógł zostać wysłany, przyczyna :Błąd SMTP: Nie można połączyć się z wybranym hostem.
Jak tak dalej pojdzie to oszaleje.Czy moglby mi ktos wytlumaczyc co zrobiłem źle w tym prostym skrypcie opisanym w tym artykule?
gorden
15.12.2011, 23:33:35
może spróbuj odkomentować w php.ini linijkę
Kod
extension=php_openssl.dll
, ewentualnie firewall. w ostateczności wklep treści błędów do google i poszukaj informacji na ich temat.
kyniu_84
16.12.2011, 00:39:32
odkomentowałem czyli usunałem srednik..zrestartowałem krasnala(czyli apache)i wyskoczyły mi dwa bledy z bibliotekami,dograłem te biblioteki kopiujac je do c:/windows?system32 i krasnal juz nie pokazywał żadnego błedu.
Mimo to dalej jest taki sam komunikat.
Wyłączyłem całkowicie firewall-a i tez to samo cały czas ten sam komunikat
W google tez szukałem o fsockopen bylo kilka wynikow ale nic nie pomogło.Czy ktos moglby sprawdzic ten skrypt napisany w tym artykule czuli index.php na wlasnym komputerze lokalnym(oczywiscie musi byc serwer www i php).Byłbym wdzieczny
Zmieniłem tez mail w tym skrypcie na moj_nick@wp.pl port 25 login i haslo.... dalej ten sam komunikat:(
Damonsson
16.12.2011, 01:08:03
Daj cały kod z html to sprawdzę.
Też mam pocztę na wp i ostatnio sobie wysyłałem z localhosta formularze na maila i wszystko ładnie dochodziło, więc na 99,99% coś Ty źle robisz.
kyniu_84
16.12.2011, 11:27:44
Damonsson-tylko nie wiem czy chodzi Ci o ten moj pierwszy skrypt czy o skrypt opraty o phpmailera(z przykladu tej stronyhttp://videokurs.pl/artykuly/php/skrypt-masowego-mailingu.php).Na razie wysle ten w oparciu o phpmailera,jezeli Ci chodziło o ten piewrszy to mow...tez go moge wystawic:
<?php
//html, meta tagi etc.
//NASZ SKRYPT
require_once("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "phpmailer/";
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.wp.pl";
$mail->Port = 25;
$mail->SMTPKeepAlive = true;
$mail->SMTPAuth = true;
$mail->Username = "krzysiekkyniu";
$mail->Password = "moje_haslo";
$mail->SetLanguage("pl", "phpmailer/language/");
$mail->CharSet = "UTF-8";
$mail->ContentType = "text/html";
$mail->From = "krzysiekkyniuk@wp.pl";
$mail->FromName = "Arek";
$mail->Subject = "Tytuł wiadomości";
$mail->Body = 'To jest nowa testowa treść, z prawidłowo interpretowanymi polskimi znaczkami, a to jest
<B>pogrubione
</B>, a to jest
<A href="http://">link
</A>';
$mail->AddAddress("krzysiek1984@onet.eu");
if($mail->Send())
echo "E-mail został wysłany
<BR>";
else
echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo;
$mail->SmtpClose();
//koniec body html etc.
?>
Jest to plik index.php umieszczony w httph/html Apache Nic wiecej nie mam z wyjatkiem biblioteki ktora jest w folederze o nazwie phpmailer-po wejsciu w ten folder od razu sa pliki php.Wiec wszystko zrobiłem zgodnie z instrukcją.
Niktoś
16.12.2011, 11:35:42
Czego,żeś się uczepił tego portu 25,przecież sam mówiłeś ,że masz Neo ,a usługodawca blokuje ten port.Sprwdzaj na porcie poczty wychodzącej wp.pl.
kyniu_84
16.12.2011, 11:52:35
Bo probowałem juz z 465 na gmailu i byl ten sam komunikat wiec sprobowałem z 25 na wp ktory chyba jest odblokowany dla portali internetowych.Na moj rozum phpmailer jest klasa samą w sobie wysylającą maile wiec serwer smtp jest niepotrzebny(choc mam go uruchomionego na wszelki wypadek).
Zmieniłem na 465 i 587 i dalej jest ten sam komunikat....moze Krasnal ma z tym jakies problemy i powinienem wgrac Apacha i PHP ręcznie?
Sprawdziłem wp dla poczty wychodzącej ma port 465 i tez nie dziala.
Niktoś
16.12.2011, 12:01:57
Z tego co wiem ,to krasnal jedzie na starszej wersji PHP podajże v 5.02 a już jest 5.3,może powinieneś zainstalować XAMPA,albo jakąś inną paczkę z nowszym PHP.Pewnie będą lepsze klasy obsługujące maila.
kyniu_84
16.12.2011, 12:29:12
Ja mam w krasnalu PHP4 uruchomionego...ale plik phpmailer sciagnałem wlasnie na ta wersje czyli PHP4,wiec wszystko teoretycznie powinno działać.Ale sprawdze i zainstaluje apacha i php ręcznie z najnowszymi wersjami.
Niktoś
16.12.2011, 14:17:40
Dobrze zrobisz instalując nowszy,bo na tym co jedziesz OOP praktycznie ni istnieje.
kyniu_84
16.12.2011, 16:49:15
Dobra po kilku godzinach mam dosyc nie poradze sobie z instalacją PHP.Apache instaluje sie jak barsz tylko klikac "dalej" a instalując PHP trzeba zmienic plik httpd.conf....i tu pojawia sie problem,nie da się w nim nic zmienic bo przy zapisie jest odmowa dostępu,aby aodblokowac zapisywanie httpd.conf trzeba zmienic plik .htaccess
N akoncu 4 strony jest o tym mowa:
https://docs.google.com/viewer?a=v&q=ca...yL7bqRHkvSmh8FQTylko ze jak wyszukuje plik htaccess to pojawia mi sie ten plik ale z rozszerzeniem html,później jest jeszce kilka plikow ale maja one trzecie rozszerzenie jeszce np. htaccess.html.en i tych plikow jest 6 z roznymi koncowkami.Probowałem wyszukac plik .htacces w plikoach ukrytych w tym celu opcji foledow ustawiłem pokazywanie plikow ukrytych i dodatkowo plikow ukrytych systemowych....dalej nie widze tego pliku.Wiec przez plik ktorego nie moge nadpisac httpd.conf nie moge zainstalowac PHP.Chyba powinienem zalozyc nowy temat z tytułem " Porazka goni porażkę"
rossecki
16.12.2011, 16:54:18
http://bit.ly/rAJor5 banalna instalacja, milion poradników w internecie, ciagłe aktualizacje
kyniu_84
16.12.2011, 18:01:34
Wywala mi bląd(skad ja to znam)ze w php nie jest włączona funckcja openssl.Wiec otworzyłem plik php.ini i szukam linijki extension=php_openssl.dll żeby odkomentowac.Ale jej nie ma w Krasnalu w php.ini byla taka mozliwość a w XAMPPie juz nie.Jak mam uruchomic w php te openssl?
rossecki
16.12.2011, 18:05:30
kyniu_84
16.12.2011, 18:30:55
nie mam w xampp/apache/bin pliku php.ini tylko w xampp/php/ ale tam nie ma tej linijki extension=php_openssl.dll mimo ze ta biblioteka php_openssl.dll znajduje się w xampp\php\ext.Tylko trzeba w php.ini ją uruchomic a ja tej linijki nie posiadam są inne extenssion ale nie ma extension=php_openssl.dll żeby odkomentować
rossecki
16.12.2011, 18:48:02
To może ją po prostu dodaj

? Ew. użyj google z zapytaniem "extension=php_openssl.dll xampp"
kyniu_84
16.12.2011, 22:37:19
Czy ktos moglby sprawdzic ten skrypt na wlasnym serwerze?Skrypt znajduje sie w dziale PHPMailer w akcji
http://videokurs.pl/artykuly/php/skrypt-ma...go-mailingu.phpJeżeli u was by zadziałało to znaczy ze ja robie cos źle.Wiec prosiłbym kogokolwiek aby ktos przetestował ten skrypt na własnym serwerze Plisss
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.