Autor Zpráva
Horac
Profil
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 *
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
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
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
Používej dlouhou otevírací značku <?php - ta funguje všude.
Horac
Profil
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
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
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
Super!! Díky za radu..

Stáhnu novější verzi, hned jsem si ji nevšiml jelikož to teď má někdo jiný..
Horac
Profil
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0