Autor Zpráva
TomusaZZ
Profil *
Prosím o radu někoho, kdo má zkušenosti s třídou PHPMailer(); -

Používám jí při odesílání mejů ve formátu HTML atd..........

Akorát, že se vyskytl problém,

při generování obsahu mi to občas hodí někam mezeru, tam kde nemá,
občas uprostřed adresy např. www.blab la.cz - takže se adresa neotevře, občas v nějakym tagu - např. < span>, takže se mi rozhodí celý text.

Nevíte kde může být chyba? Ve zdrojáku ty mezery nejsou.

Jedu v UNICODE.

Díky za rady
TomusaZZ
Profil *
Aha,

odpovídám si sám sobě -

stačí odstranit parametr - WordWrap :-)
TomusaZZ
Profil *
Beru zpět, dal sem 100000, a pořád problémy :-(
klingac
Profil
no zacal by som tym ze dlzky riadkov v tele spravy treba omezit na 70 znakov a ne na 100000.
takze wordwrap($message, 70) -- viz manual k f-ci mail, parameter $message.
toto bohuzial phpmailer neosetruje (aspon vo verzii, ktoru som kedysi kdesi pouzil, neviem ako je na tom najnovsia verzia-je mozne ze ta po 70 znakov text drsne odrazkuje).
neosetrenie dlzky riadku moze mat navyse za nasledok aj vyrazne spomalenie skriptu pri odosielani mailu
TomusaZZ
Profil *
ať je tam nula, nebo deset nebo milion, pořád mi to hází někam mezery, kde nemá :-(
podle mě na to nemá wordwap vůbec vliv - ten slouží k zalamování dlouhých slov, já tam žádná dlouhá slova vůbec nemám :-(
nightfish
Profil
pošli celý skript, ve kterém generuješ a odesíláš mail
phpmailer používám už hodně dlouho a na nic podobného jsem zatím nenarazil
TomusaZZ
Profil *
omlouvám se za prasácký kód


<?php

require "class.phpmailer.php";
$rozesilacidotaz = "SELECT * FROM newsletter WHERE last < ".Date("d")." AND aktivni = '1'";
if ($rozesilacivysledek = mysql_query("$rozesilacidotaz")) {
while ($rozesilaciradek = mysql_fetch_array ($rozesilacivysledek)) {




//ZACATEK GENEROVANI ZPRAVY**********************************************
$messagehtml = "";
$message = "";

$messagehtml .= "<img border = \"1\"  src=\"http://www.litomericko24.cz/grafika/newsletter.jpg">br>";
$messagehtml .= "<span style = \"font-family: Verdana, Arial, Helvetica;\">";
$message .= "NEWSLETTER\n\n";

//vypis clanku zacatek !!!!
$sql5 = "SELECT * FROM clanky WHERE priorita = '1'  AND doverejnit > NOW() AND port= '1' AND zverejnit < NOW() AND zverejnit > (CURDATE()-1) AND zverejnit > 0 ORDER BY zverejnit Desc LIMIT 0,100";

if ($vysledek5 = mysql_query("$sql5")) {
while ($radek5 = mysql_fetch_array ($vysledek5)) {

//prosty
$message .=  " >>> ".$radek5['titulek']." >>> ";
$message .= " | ";
$message .= $h1.$h2.":".$mm1.$mm2;
$message .= "\n";
$message .= "Více na http://www.server.cz/clanek-".$radek5['id']."-".$faderr.\".html";
$message .= "\n";
$message .= "\n";

//html
$messagehtml .= "<span style = \"font-size:12px;\">".$h1.$h2.":".$mm1.$mm2;
$messagehtml .= " | </span>";
$messagehtml .=  "<span style = \"font-size:16px; font-weight:bold;\">".$radek5['titulek']."</span>";
$messagehtml .= " <a href = \"http://www.adresa.cz/clanek-".$radek5['id']."\"><span style = \"font-size:10px;\">celý článek</span></a><br><br>";
}}


if ($rozesilaciradek[ropid]<=date("G"))

{

 $mail = new PHPMailer();
  $mail->IsMail(); 
  $mail->IsHTML(true);     
  $mail->CharSet  = "utf-8"; 
  $mail->WordWrap = "10000000";  
  $mail->From     = "newsletter@server.cz";
  $mail->FromName = "NEWSLETTER portálu server.cz";
  $mail->Subject  =  "Aktuální newsletter - čas ".$rozesilaciradek[ropid].":00";
  $mail->Body     =  $messagehtml;
  $mail->AltBody  =  $message;
  $mail->AddAddress($rozesilaciradek[email]); 
  $mail->AddReplyTo("redakce@server.cz");
  if(!$mail->Send())
  {
    echo "Nepodařilo se odeslat vzkaz <p>";
    echo "došlo k chybě: " . $mail->ErrorInfo;
    exit; }

//cislo dne kdy bylo naposledy rozeslano
    mysql_query("UPDATE newsletter SET last='".Date("d")."' WHERE id = '".$rozesilaciradek['id']."'", $spojeni);

//kdy byl rozeslan posledni newsletter
    mysql_query("UPDATE newsletter SET odeslano='".(StrFTime("%d/%m/%Y %H:%M:%S", Time()))."' WHERE id = '".$rozesilaciradek['id']."'", $spojeni);
}

}}

?>
TomusaZZ
Profil *
(rozesílá každej den přehled článků)

ať je $mail->WordWrap = "10000000";

nebo $mail->WordWrap = "60";

tak mi to hází mezery kam nemá
TomusaZZ
Profil *
prostě najednou se z ničeho nic objeví v označení tagu mezera - např. jak jsem psal <_span>
nightfish
Profil
1) pokud se jedná o HTML mail, chybí ti tam <html><body>...</body></html>
2) řádek 15 má špatně apostrofy
3) kde se berou proměnné $h1, $h2, $mm1, $mm2, $faderr (řádky 28, 30)
4) objevují se mezery v HTML verzi nebo v textové verzi? co se stane, když nebudeš odřádkovávat \n, nýbrž \r\n?
TomusaZZ
Profil *
1) - bral sem to podle nějakéh návodu kde píšou že se tam má dát jen body do $mail->Body = $messagehtml;
2) apostrofy opraveny
3) - to jsem tam jen zapomnel zkopirovat, jsou definovane
4) jen v HTML verzi

problém přetrvává

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: