Autor | Zpráva | ||
---|---|---|---|
Horac Profil |
#1 · Zasláno: 6. 9. 2011, 15:43:20 · Upravil/a: Horac
Zdravím všechny, sice jsem si nejdřív vyhledal vše, co bylo řečeno na tomto foru o php maileru, ale stejně mi to nefunguje..
Zde je kod formuláře: <form method="post" action="_rsrc/mailer.php" > <h3>Jak vás budeme kontaktovat</h3> Jméno: <input type="text" name="jmeno" ><br /> Telefon: <input type="text" name="telefon"> <br /> email: <input type="text" name="email"> <br /><br /> ............... Poznámky: <br /><textarea name="pozn" cols="40" rows="3"></textarea> <input type="Submit" name="odesli" value="Odešli"> </form> Zde je ten php mailer: <? require_once('class.phpmailer.php'); //nalinkuješ soubor class.phpmailer.php $mail = new PHPMailer(); //vytvoříš objekt mail $body = $_POST['jmeno']; $mail->AddReplyTo("email","Horac"); //zadáváš adresy, mail, jméno, toto je pole pro odpověď $mail->SetFrom('email@odkud.cz', 'Horac'); //odkud mail přišel $mail->AddAddress('email@komu.cz', "John Doe"); //kam mail poslat $mail->Subject = "Zkouska zaslani formuláře"; //předmět mailu $mail->Body = $body; //připojíš tělo mailu if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; //pokud se mail neodešle, ohlásí chybu } else { echo "Message sent!"; //pokud proběhne v pořádku, vypíše hlášku } ?> Věc se má takto, když zmačknu pole odešli tak se mi nic neodešle ale vypíše se mi to celé do nové stránky jako kdyby tam bylo echo. Myslím, že tam bude špatně i zadané smtp, nevím, jak by to bez něj mohlo odejít... Jak zápis upravit, aby to tam šlo přidat ? Nepochopil jsem, jak je to s tou isntalací toho maileru. Vím, že to jde dát do instalovaného php do include_path, ale to se mi nezdá, že by šlo na hostingu, tak to mám vše ve složce _rsrc/, kde mám všecky soubory php pohromadě, včetně smtp a language.php.. Na netu vždy najdu bud triviální příklad a nebo nějaký moc složitý.. Používám Easy php, z webu phpmaileru jsem si stáhnul i verzi pro smtp, ale též nefungovala.. Ještě zkusím znovu tuto verzi, ale ta mi to taky vypisovala do prohlížeče: require_once('../class.phpmailer.php'); 02.//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded 03. 04.$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch 05. 06.$mail->IsSMTP(); // telling the class to use SMTP 07. 08.try { 09.$mail->Host = "mail.yourdomain.com"; // SMTP server 10.$mail->SMTPDebug = 2; // enables SMTP debug information (for testing) 11.$mail->SMTPAuth = true; // enable SMTP authentication 12.$mail->Host = "mail.yourdomain.com"; // sets the SMTP server 13.$mail->Port = 26; // set the SMTP port for the GMAIL server 14.$mail->Username = "yourname@yourdomain"; // SMTP account username 15.$mail->Password = "yourpassword"; // SMTP account password 16.$mail->AddReplyTo('name@yourdomain.com', 'First Last'); 17.$mail->AddAddress('whoto@otherdomain.com', 'John Doe'); 18.$mail->SetFrom('name@yourdomain.com', 'First Last'); 19.$mail->AddReplyTo('name@yourdomain.com', 'First Last'); 20.$mail->Subject = 'PHPMailer Test Subject via mail(), advanced'; 21.$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically 22.$mail->MsgHTML(file_get_contents('contents.html')); 23.$mail->AddAttachment('images/phpmailer.gif'); // attachment 24.$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment 25.$mail->Send(); 26.echo "Message Sent OK<p></p>\n"; 27.} catch (phpmailerException $e) { 28.echo $e->errorMessage(); //Pretty error messages from PHPMailer 29.} catch (Exception $e) { 30.echo $e->getMessage(); //Boring error messages from anything else! 31.} Děkuju všem za pomoc :) |
||
okolojdouci Profil * |
#2 · Zasláno: 6. 9. 2011, 16:21:54
Horac:
Nejdřív si vyřeš, jestli máš funkční formulář a předání dat z něj druhému skriptu. Třeba tak, že si ty předané hodnoty vypíšeš pomocí echo $_POST["jmeno"]. Mám pocit, že chytáš moc zajíců najednou. |
||
Horac Profil |
#3 · Zasláno: 6. 9. 2011, 18:27:02 · Upravil/a: Horac
Okoljdouci:
Máš pravdu, je to nějaký divný.. Jen nehcápu proč, předtím jsem tam měl metodu GET vypisoval jsem pomocí REQUESTU a vše šlapalo..Teď se mi tam zobrazuje jen a jen prázdná stránka:\ Až odstraním ozvu se.. Tak problém není jen v mém skriptu, alenajednouse mi nějak zaseklo zpracování php.. Netuším čím to je Easy php se tváří jakože je vše ok.. |
||
Horac Profil |
#4 · Zasláno: 6. 9. 2011, 20:24:01
Takže, nevím, čím to je,ale přestalo mi rpsotě fungovat easy php!! Include sice jde, ale přikaz echo se prostě nevykoná, když to však nahraju na webzdarma, vše funguje,jak má!! Nevíte co by mohlo toto způsobovat ??Přeinstaloval jsem Easyphp a zdá se, žeje vše v phoo, jen ten server ignoruje php a vypisuje jej jako html :\
|
||
Davex Profil |
#5 · Zasláno: 6. 9. 2011, 21:11:53
Používej dlouhou otevírací značku
<?php - ta funguje všude.
|
||
Horac Profil |
#6 · Zasláno: 6. 9. 2011, 21:31:31
Davex:
máš recht, když tam dám ten delší zápis je to lepší.. nevím, jestli je to jen můj dojem, ale mám pocit, že ty soubory od php maileru mi to celý nějak pos... okoljdouci: teď jsem zkoušel vyspání pomocí echa a metody POST vše se v poho vypsalo, tak doufám, že už je to v klidku a že vše fugnuje.. Jdu tedy znovu zkusit rozhejbat ten php mailer :) |
||
Horac Profil |
#7 · Zasláno: 6. 9. 2011, 22:01:33
Takže další postup, do souboru zpracuj.php jsem dal tohle.Uměle jsem vytvořil contnents.html.
<?php require_once('class.phpmailer.php'); include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch $mail->IsSMTP(); // telling the class to use SMTP try { $mail->Host = "smtp.sloane.cz"; // SMTP server $mail->SMTPDebug = 2; // enables SMTP debug information (for testing) $mail->AddReplyTo('horac.amd@centrum.cz', 'Pavel Novák'); $mail->AddAddress('pav.horak@gmail.com', 'Pavel Horák'); $mail->SetFrom('horac.amd@centrum.cz', 'Pavel Novák'); $mail->AddReplyTo('horac.amd@centrum.cz', 'Pavel Novák'); $mail->Subject = 'Zkouska odesilani formulare pres php'; $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically $mail->MsgHTML(file_get_contents('contents.html')); $mail->AddAttachment('phpmailer.gif'); // attachment $mail->AddAttachment('phpmailer_mini.gif'); // attachment $mail->Send(); echo "Message Sent OK<p></p>\n"; } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! } ?> Email se kupodivu odesla :) Je tu však jeden problém a to, že mi to vypíše tohle: Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1471 Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1475 Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1471 Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1475 SMTP -> FROM SERVER:220 smtp.sloane.cz ESMTP Postfix SMTP -> FROM SERVER: 250-smtp.sloane.cz 250-PIPELINING 250-SIZE 20240000 250-VRFY 250-ETRN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN SMTP -> FROM SERVER:250 2.1.0 Ok SMTP -> FROM SERVER:250 2.1.5 Ok SMTP -> FROM SERVER:354 End data with . SMTP -> FROM SERVER:250 2.0.0 Ok: queued as 15AA51FA077 Message Sent OK Takže, nevíte někdo pls jak se tehle chyb a toho textu zbavit, pls ?:) |
||
Davex Profil |
#8 · Zasláno: 6. 9. 2011, 23:37:30 · Upravil/a: Davex
Horac:
> Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1471 > Deprecated: Function set_magic_quotes_runtime() is deprecated in F:\www\_rsrc\class.phpmailer.php on line 1475 Aktuální PHPMailer verze 5.2.0 to má opravené. > SMTP -> FROM SERVER:220 smtp.sloane.cz ESMTP Postfix > SMTP -> FROM SERVER: 250-smtp.sloane.cz 250-PIPELINING 250-SIZE 20240000 250-VRFY 250-ETRN Máš zapnutý ladící výpis: $mail->SMTPDebug = 2; .
|
||
Horac Profil |
#9 · Zasláno: 6. 9. 2011, 23:41:44
Super!! Díky za radu..
Stáhnu novější verzi, hned jsem si ji nevšiml jelikož to teď má někdo jiný.. |
||
Časová prodleva: 6 dní
|
|||
Horac Profil |
#10 · Zasláno: 12. 9. 2011, 18:08:38
Tak, už se mi povedlo vše rozhejbat:) děkuji všem za pomoc!!
Napadla mě však ještě jedna myšlenka a to, že bych potřeboval upravit php mailer tak, aby posílala na každou emailovou adresu trošku jiný $body, nevíte jak to udělat ?? Zkoušel vložit ještě jeden php mailer,ale moc to nešlo:D Také bych chtěl nějak ověřit odesílaná data, nejjednodušší co jsem našel je tohle, ale zdá se mi, že se to nejak nesnese s php: http://www.pslib.cz/ke/files/javascript/kontrola.formulare.html nevím totiž, jak zavest kontrolu v php, když u formuláře je action a odkaz na zpracuj.php..Děkuji za rady :) |
||
Flek Profil |
Moderátor Davex: Přesunuto z PHPmailer- úprava aby na každý email přišel jiný text.
Vytvoř si z toho funkci na zasílání emailu. |
||
Časová prodleva: 13 let
|
0