phpRS 2.8.x : phpRS Fórum
Toto fórum je určené výhradně k diskuzi o verzích phpRS v2.8.x.
phpRS - redakční a informační systém
Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-03, 09:56

Sice se tady řeší více na free web hosting ale co takhle jeho odvrácenou tvář a to placený hosting? Profitux nabízí odesílání neomezeného množství e-mailů z Vaší domény ale nejspíš to nebude pravdou. Vše fungovalo do 300 reg. čtenářů. Dnes jich bude skoro 400 a od té doby co jsem odeslal infomail z administrace tak to bylo do 300 a vše fungovalo. V dnešní době to už tak není. Pokud profitux.cz myslí "neomezeno" tak max. 300 tak to bude chyba někde u nich a nebo v phpRS? Nevíte někdo jak z toho ven?

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2008-05-03, 15:28

admin/astdlib.mail
var $zpusob_odeslani='vse'; // zpusob rozeslani e-mailu: vse|sady

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-03, 16:43

Koukal jsem do něj ale nic takového tam nemám, jen toto:

// odeslani e-mailu
if ($chyba==0):
if (Mail($this->adresat,$prpredmet,$probsah,$prhlavicka)):
return 1; // vse OK
else:
return 0; // chyba
endif;
else:
return 0; // chyba
endif;
}
}
?>

Přepínač 0,1 //vse OK takže nevím jak to specifikovat. Každopádně dík že se někdo ozval..

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: MirekS (IP adresa zaznamenána)
Datum: 2008-05-03, 16:49

ono je rozdil. jestli omezuji pocet odeslanych emailu (coz treba neomezuji), ale mohou omezovat pocet adresatu v jednom emailu - viz co psal pa3k - rozdelit do vice emailu s mensim poctem adresatu

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-03, 16:54

Jenže administrace 2.8.0 toto neumožňuje, takže kdykoliv budu chtít těm několika stovkám registrovaných odeslat e-mail z administrace tak budu muset naklikat po sadách např. 50 uživatelů a ty pak odznačit a takto pokračovat dál? Nebylo by nějaké řešení? Jinak ten přepínač vse/sady já mám na 1/0 takže nechápu kde bych ho tam měl najít :)

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-03, 16:56

A nebo jinak, jak to lze tedy specifikovat aby se to rozesílalo po sadách?

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-03, 17:19

Takže si odpovím sám: vyzkoušel jsem co se dalo, profitux.cz je výborný hosting toto vidím spíš jako chybu vývoje phpRS kdy není umožněno přepnutí pro zasílání po sadách. Ve verzi 2.8.0 je to prostě velké mínus..!!!

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: Kryšpín (IP adresa zaznamenána)
Datum: 2008-05-03, 20:47

Možná, že ve verzi 2.8.0 to je velké mínus. Ale ve verzi 2.8.1 je to upravené tak, jak Ti výše uvádí pa3k. Možná by ses mohl nejdříve podívat do ní (do nejnovější verze), dříve než tu začneš psát svoje soudy o chybách vývoje.

Hepbegclub | Čáslavsko | MN Čáslav

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2008-05-04, 12:41

Zmeniť to musíš tam, kde sa finkcia volá. Parametrom určíš odosielanie pomocou sady. V admin/astdlib.mail sa dá myslím určiť, ako sa bude chovať systém pri nenastavení spôsobu odosielania, čiže je tam len default, ktorý sa použije, ak nie je nastavené nič.

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-04, 13:03

Tak v tom případě v místě kde je to dle tebe defaultní tak je jen přepínač 0/1 ve v.2.8.1 je už vse/sady takže bavíme se tady jen o hruškách které snad rostou na jabloni? Mě šlo jen o logickou funkci kterou to umožním. V základě přepnutá 1/sady je nereálné. Zasílání hromadných emailů reg. čtenářům je u v.2.8.0 do 250 regnutých a víc Vás to nepustí.

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2008-05-04, 14:34

Čože???
function NastavZpusobOdesilani($typ = '') // nastaveni zpusobu odesilani e-mailu
 {
 switch (strtolower($typ)):
   case 'vse': $this->zpusob_odeslani='vse'; break;
   case 'sady': $this->zpusob_odeslani='sady'; break;
   default: $this->zpusob_odeslani='vse'; break;
 endswitch;
 }

ďalej:
function Odesilac() // hlavni odesilaci funkce
 {
 if ($this->zpusob_odeslani=='sady'):
   return $this->Odesilac_sady(); // varianta: sady
 else:
   return $this->Odesilac_vse(); // varianta: vse
 endif;
 }

a nakoniec:
nastavenie: var $velikost_jedne_sady=40; // mnozstvi e-mailu zapouzdrenych do jedne e-mailove sady
a samotný kód:
function Odesilac_sady() // odesilac e-mailu - varianta "rozdeleni do e-mailovych sad"
 {
 $chyba=0; // inic. chyba
 $chyba_mail=0; // inic. globalni chby
 $konec_radku_hlavicka="\n"; // zakonceni radku v hlavicce

 // dekompilace skrytych adres
 if (empty($this->skryty_adresat)):
   $pocet_skrytych_adres=0;
 else:
   $pole_skrytych_adres=explode(',',$this->skryty_adresat);
   $pocet_skrytych_adres=count($pole_skrytych_adres);
 endif;

 if ($pocet_skrytych_adres<=$this->velikost_jedne_sady): // start - test na mnozstvi skrytych adres

   // s ohledem na male mnozstvi skrytych adres (velikosti odpovida pouze jedne sade), bude pro odeslani pouzita varianta "vse v jednom e-mailu"
   return $this->Odesilac_vse(); // stavove hlaseni se kompletne prebira z pouzite funkce

 else: // stred - test na mnozstvi skrytych adres

   // vypocet mnozstvi sad
   $pocet_emailovych_sad=ceil($pocet_skrytych_adres/$this->velikost_jedne_sady);

   // vytovreni sad
   $pole_emailove_sady=array();
   for ($pom=0;$pom<$pocet_emailovych_sad;$pom++):
     $akt_pozice=($pom*$this->velikost_jedne_sady);
     $pole_emailove_sady[$pom]=array_slice($pole_skrytych_adres,$akt_pozice,$this->velikost_jedne_sady); // vykopirovani casti pole skrytych adres do pole e-mailove sady
   endfor;


nechápem, čo ti na tom nejde. Ak používaš sady a stále to nefunguje, ide o obmedzenie mailserveru. V prvom rade by som kontaktoval "pána" toho serveru a zistil aké obmedzenie tam v skutočnosti je. Ak toto budeš vedieť, budeš mať info o tom, či ti odosielanie cez sady vôbec môže problém vyriešiť. Hosting môže mať kľudne obmedzenie mailov za určitý čas napr. 400/hod a tam si jednoducho nepomôžeš.

Riešilo sa to tu, použi vyhľadávanie.

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-04, 18:24

Dík žes mi napsal řešení ale skutečně to v astlib_mail.php nemám. Dole je jen přepínač 0/1 //vse OK

<?php

######################################################################
# phpRS Admin Standard Mail library 1.1.0
######################################################################

// Copyright (c) 2001-2006 by Jiri Lukas ([email]jirilukas@supersvet.cz[/email])
// [http://www.supersvet.cz/phprs/]
// This program is free software. - Toto je bezplatny a svobodny software.

/*
-- class --
CPosta
*/

// ====================== CLASS

// trida CPosta
class CPosta
{
var $hlavicka; // hlavicka mailu
var $obsah; // obsah mailu
var $adresat; // adresat mailu
var $skryty_adresat; // skyty adresat
var $predmet; // predmet mailu
var $odesilatel_mail; // odesilatel mailu
var $odesilatel_txt; // odesilatel text
var $seznam_ctenaru; // seznam ctenaru
var $stav_seznam_ctenaru; // stav seznamu ctenaru
var $kodovani_dat=''; // vychozi kodovani zpracovavaneho obsahu

/*
CPosta()
Reset()
Nastav($co = '', $hodnota = '')
TestNaMailAdr($mail = '')
NactiCtenare()
NastavInfoMail();
win1250_to_ascii($str = '')
win1250_to_iso88592($str = '')
Odesilac()
*/

function CPosta() // konstruktor
{
$this->Reset();
}

function Reset() // reset internich promenych
{
$this->hlavicka='';
$this->obsah='';
$this->adresat='';
$this->skryty_adresat='';
$this->predmet='';
$this->odesilatel_mail=$GLOBALS['redakceadr'];
$this->odesilatel_txt=$GLOBALS['wwwname'];
$this->seznam_ctenaru='';
$this->stav_seznam_ctenaru=0;
// inic. kodovani
if (empty($GLOBALS['rsconfig']['kodovani'])):
$this->kodovani_dat='windows-1250'; // nelze nalezt centralni nastaveni
else:
$this->kodovani_dat=$GLOBALS['rsconfig']['kodovani']; // pouziti centralniho nastaveni
endif;
}

function Nastav($co = '', $hodnota = '') // nastaveni promennych
{
switch($co):
case "hlavicka": $this->hlavicka=$hodnota; break;
case "obsah": $this->obsah=$hodnota; break;
case "adresat": $this->adresat=$hodnota; break;
case "skryta_kopie": $this->skryty_adresat=$hodnota; break;
case "predmet": $this->predmet=$hodnota; break;
case "odesilatel_mail": $this->odesilatel_mail=$hodnota; break;
case "odesilatel_txt": $this->odesilatel_txt=$hodnota; break;
endswitch;
}

function TestNaMailAdr($mail = '') // test na platnost zadaneho e-mailu
{
if (ereg('^[_a-zA-Z0-9\.\-]+@[_a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$',$mail)):
return 1; // spravna struktura
else:
return 0; // chybna struktura
endif;
}

function NactiCtenare() // nacteni seznamu ctenaru
{
// test na aktivnost seznamu ctenaru
if ($this->stav_seznam_ctenaru==0):
$dotazmail=phprs_sql_query("select email from ".$GLOBALS["rspredpona"]."ctenari where info='1'",$GLOBALS["dbspojeni"]);
$pocetmail=phprs_sql_num_rows($dotazmail);

$pom_str='';
$pom_spojka='';

while($pole_data = phprs_sql_fetch_assoc($dotazmail)):
if ($this->TestNaMailAdr($pole_data['email'])): // test na korektnost adresy
$pom_str.=$pom_spojka.$pole_data['email'];
$pom_spojka=',';
endif;
endwhile;

$this->seznam_ctenaru=$pom_str; // ulozeni vysledku
$this->stav_seznam_ctenaru=1; // stav seznamu ctenaru = true
endif;
}

function NastavInfoMail() // nastaveni defaultniho stavu redakcniho info e-mailu
{
$this->NactiCtenare();
$this->skryty_adresat=$this->seznam_ctenaru; // prednastaveni skryteho adresata
$this->adresat=$GLOBALS['infoadr']; // prednastaveni adresata
}

function win1250_to_ascii($str = '') // prekodovani z Win-1250 do ASCII
{
$diak ="ěščřžýáíéťňďúůóöüĚŠČŘŽÝÁÍÉŤŇĎÚŮÓÖÜ";
$diak.="\x97\x96\x91\x92\x84\x93\x94\xAB\xBB";
$ascii="escrzyaietnduuoouESCRZYAIETNDUUOOU";
$ascii.="\x2D\x2D\x27\x27\x22\x22\x22\x22\x22";
return StrTr($str,$diak,$ascii);
}

function win1250_to_iso88592($str = '') // prekodovani z Win-1250 do ISO-8859-2
{
// minimalni prekodovani
// return StrTr($str,"\x8A\x8D\x8E\x9A\x9D\x9E","\xA9\xAB\xAE\xB9\xBB\xBE");
// rozsirene prekodovani - rozsireno o prekodovani "Windows uvozovek"
return StrTr($str,"\x8A\x8D\x8E\x9A\x9D\x9E\x91\x92\x82\x93\x94\x84","\xA9\xAB\xAE\xB9\xBB\xBE\x27\x27\x27\x22\x22\x22");
}

function Odesilac() // odesilac e-mailu
{
$chyba=0; // inic. chyba
$konec_radku_hlavicka="\n"; // zakonceni radku v hlavicce

// uprava definice kodovani
$this->kodovani_dat=strtolower(trim($this->kodovani_dat));

// obsah
switch ($this->kodovani_dat): // test na kodovani
case 'windows-1250': $probsah=Base64_Encode($this->win1250_to_iso88592($this->obsah)); break;
case 'iso-8859-2': $probsah=Base64_Encode($this->obsah); break;
default: $probsah=Base64_Encode($this->obsah); break;
endswitch;

// hlavicka
$prhlavicka='';
if ($this->odesilatel_mail!=''): // mail odesilatele
$prhlavicka .='From: ';
if ($this->odesilatel_txt!=''): // textovy popis odesilatele
$prhlavicka .='"'.$this->odesilatel_txt.'" ';
endif;
$prhlavicka .='<'.$this->odesilatel_mail.'>'.$konec_radku_hlavicka; // mail odesilatele
endif;
if ($this->skryty_adresat!=''): // test na skrytou kopii
$prhlavicka .='Bcc: '.$this->skryty_adresat.$konec_radku_hlavicka;
endif;
$prhlavicka .='MIME-Version: 1.0'.$konec_radku_hlavicka;
switch ($this->kodovani_dat): // test na kodovani
case 'windows-1250': $prhlavicka .='Content-Type: text/plain; charset="iso-8859-2"'.$konec_radku_hlavicka; break;
case 'iso-8859-2': $prhlavicka .='Content-Type: text/plain; charset="iso-8859-2"'.$konec_radku_hlavicka; break;
default: $prhlavicka .='Content-Type: text/plain; charset="'.$this->kodovani_dat.'"'.$konec_radku_hlavicka; break;
endswitch;
$prhlavicka .='Content-Transfer-Encoding: base64'.$konec_radku_hlavicka;

// predmet
$prpredmet='';
if ($this->predmet==''):
// chyba: predmet je prazdny
$chyba=1;
else:
// zpracovani predmetu
switch ($this->kodovani_dat): // test na kodovani
case 'windows-1250': $prpredmet .='=?ISO-8859-2?B?'.Base64_Encode($this->win1250_to_iso88592($this->predmet)).'?='; break;
case 'iso-8859-2': $prpredmet .='=?ISO-8859-2?B?'.Base64_Encode($this->predmet).'?='; break;
default: $prpredmet .='=?'.$this->kodovani_dat.'?B?'.Base64_Encode($this->predmet).'?='; break;
endswitch;
endif;

// adresat
if ($this->adresat==''):
// chyba: adresat je prazdny
$chyba=1;
endif;

// odeslani e-mailu
if ($chyba==0):
if (Mail($this->adresat,$prpredmet,$probsah,$prhlavicka)):
return 1; // vse OK
else:
return 0; // chyba
endif;
else:
return 0; // chyba
endif;
}
}
?>

Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2008-05-04, 23:56


Re: Informační mail na profitux.cz
Zaslán uživatelem/kou: bronikus999 (IP adresa zaznamenána)
Datum: 2008-05-05, 21:46

Tak nakonec jsem to vyřešil jinak. Nakopíroval jsem astlib_mail.php z verze 2.8.1 do stávající verze 2.8.0 a ejhle, ono to funguje!! Přepnul jsem na sady a všech 400 regnutých lidí dostalo avízo. Takže paráda...



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.