Autor Zpráva
Tonny
Profil *
Dobrý den,
mám webouvou stránku, kam se uživatelé registrují. Po registraci bych jim chtěl zaslat autorizační email, který by obsahoval jimi zvolené uživatelské jméno, heslo a náhodně vygenerovaný autorizační kód.

Tělo emailu jsem vytvořil bokem v html, po "přehození" kódu do $mail->Body = "..." nastali dva problémy:
1. a důležitější je ten, že nevím, jak sem vložit i nějaké to PHP: <?php echo $jmeno_uzivatele;?> nefunguje, je to považováno za text a ".$jmeno_uzivatele." hází Pres error:....

2. Nefunguje mi pozicování divů - v těle mám dva divy, v jednom je na pozadí chlápek s bublinou od pusy a druhý se nachází právě v této bublině a vkládá se do něj text:

<div style=\"position: absolute; top:5px; left: 10px; height: 520px; width:550px; background-image: url('http://t-school.cz/obrazky/email_podklad.jpg'); background-repeat: no-repeat;\">
  </div>
  <div style=\"position: absolute; top:5px; left: 158px; height: 520px; width: 400px;\">
.
.
.
.
</div>

Nevíte prosím někdo co s tím?
Předem děkuji za pomoc :)
Antonín Vlček
Darker
Profil
Ad 1.:
PHP skript se ti po načtení do proměnné sám nespustí (ještě že tak). Asi nejlepší bude když do šablony emailu dáš něco jako:
<b>{EMAIL}</b>
Potom nahradíš pomocí str_replace:
$html = str_replace(array("{EMAIL}","{KOD}"),array($email,$kod),$html);
Tonny
Profil *
:/ asi jsem to správně nepochopil ukážeš mi to prosím na konkrétním příkladu, u mě to vypadá takhle:

$mail->Subject = "Autorizační email";  
  $mail->IsHTML(true);
  $mail->Body = "
<html>    
<body>
  <div style=\"position: absolute; top:5px; left: 10px; height: 520px; width:550px; background-image: url('http://t-school.cz/obrazky/email_podklad.jpg'); background-repeat: no-repeat;\">
  </div>
  <div style=\"position: absolute; top:5px; left: 158px; height: 520px; width: 400px;\">    
<p style=\"font-family: Verdana;\">
   <strong style=\"color: #0099DF;\"> Autorizační email</strong><br />
Vaše registrace byla úspěšně dokončena. <br /><br />
                                                    
Vaše uživatelské jméno: <b>nekdo@email.cz</b> <br />
Heslo:<b> 12345a</b><br />
Autorizační kód:<b> jgmatma </b><br /> <br />
Autorizační kód opište do formuláře na stránce, nebo klikněte zde: <br />
<a href=\"http://t-school.cz/index.php?o=aktivace.php?k=jgmatma\">http://t-school.cz/index.php?o=aktivace.php?k=jgmatma></a>

  </p>
  </div>
  </body>
</html>";  // nastavíme tělo e-mailu
  $mail->WordWrap = 250;   // je vhodné taky nastavit zalomení (po 50 znacích)
  $mail->CharSet = "utf-8";
přičemž, proměnnou potřebuji nahradit:
-nekdo@email.cz
-12345a
-jgmatma
Darker
Profil
V příkladě výše je to ještě daleko jednodušší:
$mail->Subject = "Autorizační email";  
  $mail->IsHTML(true);
  $mail->Body = "
<html>    
<body>
  <div style=\"position: absolute; top:5px; left: 10px; height: 520px; width:550px; background-image: url('http://t-school.cz/obrazky/email_podklad.jpg'); background-repeat: no-repeat;\">
  </div>
  <div style=\"position: absolute; top:5px; left: 158px; height: 520px; width: 400px;\">    
<p style=\"font-family: Verdana;\">
   <strong style=\"color: #0099DF;\"> Autorizační email</strong><br />
Vaše registrace byla úspěšně dokončena. <br /><br />
                                                    
Vaše uživatelské jméno: <b>$email</b> <br />
Heslo:<b> $heslo</b><br />
Autorizační kód:<b> $code </b><br /> <br />
Autorizační kód opište do formuláře na stránce, nebo klikněte zde: <br />
<a href=\"http://t-school.cz/index.php?o=aktivace.php?k=$code\">http://t-school.cz/index.php?o=aktivace.php?k=$code></a>
 
  </p>
  </div>
  </body>
</html>";  // nastavíme tělo e-mailu
  $mail->WordWrap = 250;   // je vhodné taky nastavit zalomení (po 50 znacích)
  $mail->CharSet = "utf-8";
Pokud místo proměnných bude prázdné místo máš chybu někde výše v programu.

Ad [#2]:
Myslel jsem, že máš šablonu emailu v .html souboru.
Co se týče toho nefunkčního pozicování - možná by neuškodilo si html emailu zobrazit v prohlížeči a projet nějakým vývojářským nástrojem.

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: