PHP-email HOW rubrika: Programování: PHP

2 travahonza
položil/-a 7.7.2017

Ahoj lidi mam problem mam tady skript v phpmailer , který bych chtěl natlačit do html prosím pomůžete mi ho poskládat dohromady a ?
a Jak do tohohle kodu vlozim rovnou i inputy v bloku form ? byl bych vam moc vdecny.
A za 3. jak tam mam to if isset chtel bych aby a hlaska byla v popup okně.
Velmi dulezity doufam ze si nekdo bude vedet rady.

require 'phpmailer/PHPMailerAutoload.php';
 
$mail = new PHPMailer;
 
//$mail->SMTPDebug = 3;                               // Enable verbose debug output
 
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'xxxx@gmail.com';                 // SMTP username
$mail->Password = '******';                           // SMTP password
$mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587;                                    // TCP port to connect to
 
$mail->setFrom ('Nový zákazník');
$mail->addAddress('xxxx@gmail.com');     // Add a recipient
;
 
$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML
 
$mail->Subject = 'Nová zakázka';
$mail->Body = "Jméno a Příjmeni : {$_POST['name']}\n";
$mail->Body .= "Údaje o zákazníkovi (email,telefon,psč): {$_POST['headers']}\n";
$mail->Body .= "Plocha: {$_POST['plocha']}\n";
$mail->Body .= "Nástřik: {$_POST['nastrik']}";
 
if(isset($mail['submit'])) 
{
 
    if($mail['name']) {
        $error="<br/>- Prosím zadejte Vaše Jméno a Příjmení";
     }
 
   if($mail['headers']) {
        $error.="<br/>- Prosím zadejte správně E-mail";
     }
   if($mail['plocha']) {
        $error.="<br/>- Prosím zadejte velikost plochy";
     }
       if($mail['nastrik']) {
        $error.="<br/>- Prosím zadejte Velikost nástřiku";
     }
 
 
if($error) 
{
        $result='<div class="alert alert-danger"   role="alert" ><strong>ERROR!</strong>'.$error.'</div>';
    }
 
else 
if(!$mail->send()) {
    echo 'Omlouváme se ale zpráva nebyla Odeslána.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Děkujeme, v blízké době vás budeme kontaktovat. <br> Vrácení na stránku <a href="nejakastranka.htm">Zde</a>.';
   echo "<script >
 
   window.location = 'http://nejakastranka.htm'</script>";
}

Komentáře

  • Anonym : Takhle se v PHP stále píše? 7.7.2017
  • travahonza : ano stale se takhle píše, sem v tom začátečník tak hledam co nejjednodušší způsob jak dat dohromady php mailu, byl bych vdecny za pomoc 7.7.2017
  • kohven : Do php-errors.log to něco píše? 12.7.2017
odkaz Vyřešeno
4 kodl
odpověděl/-a 7.7.2017

No je to divny - inicializujes promennou $mail jako instanci tridy PHPMailer(tedy objekt) a pak ji dal pouzivas jako pole.

Komentáře

  • travahonza : proto se ptam jak to mam cely postavit dohromady jestli mi s tim nekdo pomuze :( 7.7.2017
  • kodl : ted koukam jak dlouho uz to lepis.. no asi nejjednodussi bude si poptat nejakyho PHPkare, ktery se obetuje a ten paskvil nejak slepi. 7.7.2017
  • Kit : @kodl: PHPMailer se bohužel takhle používá. Zkus se mrknout do jeho zdrojáku a pochopíš. Ovšem není to nic nového, v C#, JS nebo v Pythonu se takhle programuje běžně. Java se tomu ve svém designu brání, ale programátoři si v ní své settery také udělali. 7.7.2017
  • harrison314 : @Kit: poprosim priklad, kde sa v C# takto programuje bezne. 8.7.2017
  • Kit : @harrison314: Namátkou: http://csharp.net-informations.com/communications/csharp-smtp-mail.htm nebo https://stackoverflow.com/questions/9201239/send-e-mail-via-smtp-using-c... 8.7.2017
  • harrison314 : Vidis tam niekde znasilnovanoe properties? spagety kod, alebo porusenie SRP ? Aspon sa tamnemiesa mailer a mail. 8.7.2017
  • Kit : Jak jsi přišel na to, že třeba tohle není volání setteru, ale znásilňováním properties? $mail->Host = 'smtp.gmail.com'; Kde vidíš v té samé pasáži špagetový kód v PHP? Vždyť je ta práce s objektem $mail úplně stejná jako v C#. 8.7.2017
  • skliblatik : @Kit jestli @kodl neměl na mysli spíš: $mail = new PHPMailer; vs $mail['nastrik'] (o např. $mail->Subject tu nešlo). @travahonza: 1) jedna proměnná musí být pro 1 věc - a ty ji používáš pro a) objekt maileru b) data z (pravděpodobně) POSTu 2) jak se ti data z POSTu mají dostat do proměnné $mail? V php už nějaký rok nedělám, ale mám za to, že se register_globals mělo rušit / rušilo. Možná místo $mail['nastrik'] a spol. jsi chtěl použít $_POST["mail"]["nastrik"]. 8.7.2017
  • kodl : presne o tom michani promenne $mail jsem mluvil. mluvil jsem o tom, ze podle ostatnich threadu ten kluk vubec nevi ktera páčka. ja si taky neopravuju auto nebo tesneni u vodovodni baterie. 9.7.2017
  • siq : Je to tak, podla mna ma @kodl pravdu a takto to nikdy nemoze fungovat. 9.7.2017

Pro zobrazení všech 5 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.