windows alatt nincsen setlocale. Amugy ezt azt mondja, hogy setlocale("LC_ALL","hu_HU"); helyett setlocale(LC_ALL,"hu_HU"); kell. De ez csak warning, nem error. Az error_reporting(E_ERROR); sor beirasaval a php elejere letuntetheted ezeket a warning-okat.
az index kigyilkolta a fügvény belsejét :(((
remélem most jó lesz
function encode_iso88591($text){
$elements=imap_mime_header_decode($text);
for($i=0; $i < count($elements);$i++)
{
$x = $x . "{$elements[$i]->text}\n\n";
}
return $x;
Köszi a tanácsot, azt hiszem az éles szerveren kicsit várni fogok a php update-vel, ott még maradok a réginél, és egyenlőre csak a fejlesztői gépen használom az újat, és szép lassan kijavítom a két rendszert.
Természetesen ezek csak figyelmeztető üzenetként jelennek meg, ettől még minden fut csak belerondít a kiirásba.
Egyébként sikerült megoldani a dekódolást:
function encode_iso88591($text){
$elements=imap_mime_header_decode($text);
for($i=0;$i $x = $x . "{$elements[$i]->text}\n\n";
}
return $x;
}
$szoveg ="Subject: =?ISO-8859-1?Q?=28Fwd=29_proba_lev=E9l_2?=";
$ujszoveg= encode_iso88591($szoveg);
print $ujszoveg;
Biztos, hogy ezek hibaüzenetek, és nem csak figyelmeztető üzenetek?
Az üzenet egyébként azt mondja, hogy az adott fajta setlocale() hívás elavult paraméterezést használ.
Szerintem vagy javítsd ki ezeket a hívásokat (de azt írod ezt nem akarod), vagy frissítsd a phpnuke-odat, vagy kapcsold ki a warningokat, vagy tedd vissza a régebbi PHP-t.
Rá kellett jönnöm hogy az álltalam használt php 4.2.2-höz nem találok sehol megfelelő dll-eket, ezért letöltöttem a 4.3.1-et és bemásoltam egy külön könyvtárba, majd a webszerverben átállítottam a php-t az újra. A phpinfo() rendben le is fut és látom is az új extended dll-eket, de a régi honlapjaim (nuke 6.0) hibaüzenet küldenek:
setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead. in
Elvileg minden fut, csak ezek a hibaüzenetek jelennek meg.
Mit kell átkonfigolni? (A nuke-ben meg az áruházamba emiatt nem szívesen módosítanám rengeteg helyen a forrást)
Ez igaz, csak valamiért arra gondoltam, az imap-hez gyakrabban van belefordítva a támogatás, mint az mb-hez, illetve ha mégsincs, kevesebb egzotikumot kell beszerezni hozzá. Bár még sohasem mb-ztem, úgyhogy lehet, hogy egyáltalán nincs igazam.
Lenne egy kérdésem. Szeretnék készíteni egy haghyományos ürlapot ami összegyüjt,néhány adatot aztán valahogy elküldni nekem e-mailben vagy vmi. Sajnos nem értek ehez viszont nagy szükségem lenne egy ilyen ürlapra. Tudnátok segíteni nekem?
nem csak ini-ben, hanem ugy kell forgatni is a php-t.
Ha elolvasod a http://www.php.net/manual/en/ref.mbstring.php az Installation reszt akkor gondolom ertheto mar.
Nem ismeri fel az mb_encode_mimeheader() fügvényt.
ha jól értelmezem akkor engedélyezni kell a php.ini-ben. Nem volt engedélyezve most átállítottam erre:
[mbstring]
mbstring.internal_encoding = ISO-8859-2
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
;mbstring.substitute_character = none;
Na kezd összejönni a pop3 class használata, most már le tudom kérdezni, hogy hány levél van és a levelek header-ét is megtudom nézni.
Azzal nem vagyok tisztában hogy miként lehet a subject sor tartalmát olvasható formátumba konvertálni, mivel fene tudja, milyen szabvány szerinti karakterkészlettel küldenek levelet.
A objectum orientáltal még nem sokat dolgoztam, az elvet ismerem, gyakorlat nuku. (kivéve egy-2 példaprogram a tanuljuk meg a php használata 24 óra alatt című könyvből)
Próbáltam :
$proba = new pop3 ('');
$proba = new pop3 ('mail.axelero.hu');
mindkettőnél ugyanaz a hibaüzenet mint amit lejebb leírtam.
Közben rájöttem, hogy elsősorban nem is a class használatával van a bajom, hanem inkább azzal, hogy nem tudom mi a mail szerver kezelésének a metodikája, azaz mit miután kell meghíni, mire kell figyelni. Ezért lenne jó egy mintaprogi ami ezt a class-t használná, mert akkor megérteném a mintaprogin keresztül. A pop3 class-t már megpróbáltam megérteni de nem derül ki belőle a sorrend. (legalábbis számomra)
Gondoltam erre, de nem sok értelmét látom mert a pegasus ugyanúgy mint más levelezők csak egy egy mailboxot néznek át, igaz a pegasusban be lehet állítani többet is, de ez így nem alkalmas arra, hogy egy cég teljes levelezését, az összes mailboxal egyut + tovabbi külső mail boxokat átvizsgáljon spam ügyben.
gond az is, hogy minden egyes gépen a pegasusba be kell vinni az olyan szüréseket amik már megjelentek a cég másik mailboxaiban.
Ezért sokkal célszerübb, ha ezt egy központi spam gyilkos hajtja végre. LINUX KIZÁRVA. :(((
Tehát marad a winfos, de ott meg egy nagy rakás szar ilyen progi van, amikből már vagy 10-et végigpróbaáltam.
$proba = new pop3 ();
var_dump ($proba);
$x = $proba->Login($user,$password,$apop);
?>
Eddig jutottam el, és a köv. hibaüzenet jön:
Warning: fwrite(): supplied argument is not a valid stream resource in C:\PHP_Honlap\proba\pop3\pop3_class.php on line 523
Warning: fgets(): supplied argument is not a valid stream resource in C:\PHP_Honlap\proba\pop3\pop3_class.php on line 524
Sajna a class-okkal nem sok gyakorlatom van így nagyon megköszönném ha segítenétek egy kis mintaprogival hogyan lehet a headereket letölteni, hogy ki tudja majd értékelni valahogy.
Arra is jó lenne egy kis mintaprogi, hogyan lehet egy adott levelet letörölni a szerverről.
En is a bogofilter-t hasznalom, remekul tanul, csak ajanlani tudom. Ez is a bayesian elvet hasznalja a spamek kiszuresere, ami nagy vonalakban bizonyos szavak egyuttes elofordulasat figyeli.
Ha a helpben is benne van, de nem hajtja végre, akkor a szoftvernek tudnia kellene. Ilyenkor szerintem ne dobd ki az egészet (működő részeivel együtt) nagy ívben az ablakon - az Open Source világban az a szokás, hogy ilyenkor az ember támogatást kér, mert vagy benne van, és csak ő nem érti, hogy kell, vagy benne kellene lennie, de nem működik megfelelően, vagyis találtál egy hibát, amit nagy valószínűséggel ki akarnak majd javítani, ha szólsz nekik róla. Ez a megközelítés szerintem rendkívül időtakarékos, próbáld meg, ha még nem tetted ennek a szoftvernek az esetében.
Egy picit off leszek, ezért elnézést kérek, de azt hiszem ez a legjobb hely, ahol segítséget kérhetek:
Szeretném, ha írna nekem olyan programozó, aki saját vállalkozásban vagy magánvállalkozóként csinálja a programozást, lenne ezzel kapcsolatosan pár kérdésem.
Mondjuk mivel ha ilyen szurest vegeztek akkor mindenkepp letoltitek a szerverrol a levelet, es max a kuka-ba dobjatok. A mozilla-nak a levelezoje meglehetosen fejlett es ugyes es okos spam fileterrel rendelkezik. Talan erdemes volna pegasus mellett kiprobalni. Nem igen van hasonlo, azaz ilyen stilusban, tudasu mas levelezo soft.
Az utóbbi egyébként pont egy olyan ami pegasusba integrálódik bele, ezt már használtam de hibázik.
Ha szürésbe egy konkrét levélcímet teszek bele akkor jól csinálja de ha *@akarmi.com a szürési feltétel akkor nem hajtja végra, azaz bizonyos szolgáltatókat nem lehet vele kitiltani, pedig a help szerint ez is benne van.
Ezért gondolkodunk saját spam szürésen.
A cégnél mindenhol pegasust használnak célszerüen a vírus védelem miatt és erről nem is akarnak átálni (nem is javaslom nekik :)) )
Azért át fogom nézni a többi linket is, mert érdekes a téma.