login about faq

Salut! E posibil cu user level filtering sa modific subiectul si expeditorul mesajului cand ii face redirectionare?

O zi buna!

asked Dec 02 '11 at 12:58

kod's gravatar image

kod
1112


Salut, si bun venit pe NetHelp!

Da te rog mai multe detalii. Ce fel de filtrare ai in minte? Ce fel de mesaje? Email? Si ce fel de redirectionare ii faci? :-)

answered Dec 02 '11 at 13:17

Sergiu%20Tot's gravatar image

Sergiu Tot ♦♦
1.1k283652

Merci:) Eu primesc un mail cu subiectul de forma "Lalslaldasf 4353453 sdfsdgds". Filtrul verifica daca exista 4353453 in subiect si daca exista face redirect la alt mail. Intrebarea mea e daca mail-ul forward-at poate sa aiba alt expeditor si alt subiect - diferite de cele initiale.

(Dec 02 '11 at 15:09) kod kod's gravatar image

Folosesti procmail? Daca da, ai putea sa apelezi formail si sa modifici headerul 'From:' sau 'Reply-to:'.

(Dec 02 '11 at 15:28) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image

Sau, daca folosesti cPanel, ai putea sa folosesti optiunea de Pipe ca sa trimiti mailul catre un script care face toate modificarile pe care le vrei - dar pentru asta trebuie sa stii putina programare.

(Dec 02 '11 at 15:32) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image

Am facut cu pipe, dar nu merge... Ma rog, din "tutorialele" ce le-am vazut pe net :-?

!/usr/bin/php -q <?php

$fd = fopen("php://stdin", "r"); $email = ""; while (!feof($fd)) { $email .= fread($fd, 1024); } fclose($fd);

$lines = explode("n", $email);

$from = ""; $subject = ""; $headers = ""; $message = ""; $splittingheaders = true;

for ($i=0; $i<count($lines); $i++) { if ($splittingheaders) {

$headers .= $lines[$i]."n";

if (preg_match("/^Subject: (.)/", $lines[$i], $matches)) { $subject = $matches[1]; } if (preg_match("/^From: (.)/", $lines[$i], $matches)) { $from = $matches[1]; } } else { $message .= $lines[$i]."n"; }

if (trim($lines[$i])=="") { $splittingheaders = false; } }

mail('mail@gmail.com', 'pipe', '$from , $subject , $headers , $message');

Am gresit ceva?

answered Dec 03 '11 at 15:16

kod's gravatar image

kod
1112

Salut,

Nu am apucat sa verific. Sunt putin ocupat. Incerc sa imi fac timp in zilele astea pentru un exemplu concret, testat.

(Dec 07 '11 at 00:02) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image

Ok, merci :) Intre timp am dat si la cPanel ticket, iar spre surprinderea mea raspunsul a fost "nu stim" :))

(Dec 07 '11 at 13:25) kod kod's gravatar image

Am verificat codul. Livrarea functioneaza. Ai mai jos codul asa cum l-am folosit:

<?php

$fd = fopen("php://stdin", "r");
$email = "";

while (!feof($fd)) {
    $email .= fread($fd, 1024);
}

fclose($fd);

$lines = explode("\n", $email);

$from = ""; $subject = ""; $headers = ""; $message = ""; $splittingheaders = true;

for ($i=0; $i<count($lines); $i++) {
    if ($splittingheaders) {
        $headers .= $lines[$i]."\n";
        if( preg_match("/^Subject: (.)/", $lines[$i], $matches)) {
            $subject = $matches[1];
        }

        if( preg_match("/^From: (.)/", $lines[$i], $matches)) {
            $from = $matches[1];
        }
    } else {
        $message .= $lines[$i]."n";
    }

    if (trim($lines[$i])=="") {
        $splittingheaders = false;
    }
}

mail('adresa-mea@gmail.com', 'pipe', "$from , $subject , $headers , $message");

?>

Am facut trei modificari: am formatat codul, am adaugat ?> la final ca sa inchid codul si pe linia mail() am inlocuit ghilimelele simple cu ghilimele duble ca sa fie interpretate variabilele.

Daca nu iti merge asa, ma gandesc la doua posibile situatii: 1. Nu ai pus drept de executie pe fisier (755); 2. Nu exista drept de executie pe partitia pe care e gazduit siteul (asta tine de hoster);

(Dec 07 '11 at 23:05) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image

Ok, merci :) O sa verific daca merge.

answered Dec 08 '11 at 17:05

kod's gravatar image

kod
1112

0755 permisiunile de la fisiere... si totusi nu merge. Le-am dat mail la cei de la host si au zis ca e 755 permisia la partitie si ca n-au habar de ce nu merge.

Asa am eu in cPanel: contact@domeniu.com to |/home/user/public_html/pipe/filtru.php contact@domeniu.com to |/home/user/filtre.php

Poate am gresit ceva aici, cu scrierea codului :pipe to a program:. N-am idee de ce nu merg :|

answered Dec 08 '11 at 17:41

kod's gravatar image

kod
1112

Ar trebui sa fie ok cum ai facut. In principiu, intri in "cPanel > Forwarders > Add Forwarder > Advanced Options". Selectezi "Pipe to a Program:" si acolo pui calea catre filtru - in cazul tau, public_html/pipe/filtru.php pentru ca e calea relativa la home directory.

Daca ai facut pana aici totul corect, ar trebui sa mearga. Daca ai facut asa, ai pus 755 pe fisier si tot nu merge, discuta cu cei de la suportul tehnic pentru ca e o problema undeva pe server.

(Dec 08 '11 at 21:39) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image

Asa am facut... nu merge. O sa iau legatura cu ei sa vedem despre ce-i vorba. Am mai luat legatura si au zis ca sunt primul care le cere asa ceva si nu prea au idee despre ce-i vorba.

Oricum, merci mult pentru ajutor. :)

(Dec 08 '11 at 21:56) kod kod's gravatar image

Adevarul e ca intr-adevar nu prea se cer pipe-uri cand vine vorba de shared hosting. Probabil o sa le ia ceva timp sa se documenteze, dar o rezolva ei :-)

(Dec 08 '11 at 23:00) Sergiu Tot ♦♦ Sergiu%20Tot's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Sharing is caring:

Markdown Basics

  • *italic* or __italic__
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Reclamă

Ne urmăresc

Tags:

×2
×2
×2

Asked: Dec 02 '11 at 12:58

Seen: 358 times

Last updated: Dec 08 '11 at 23:00

Related questions

powered by OSQA © 2011 NetHelp.ro, toate drepturile asupra continutului rezervate.