Was muss man tun damit die PDF reports per mail verschickt werden?


(lazyzero) #1

Hallo,

die neue PDF report Funktion ist toll, aber wie bekomme ich es hin, dass die reports auch an die angegebenen Adressen versendet werden?
Muss ich ein cronjob anlegen oder???

Gruß Christian


(lazyzero) #2

So mittlerweile hab ich einen cronjob laufen der das archive.sh script ausführt. Aber mails mit pdf reports bekomme ich immer noch nicht.

Wie funktioniert der Mechanismus mit den PDF reports? Der wird doch über die archive.sh getriggert?

Würde mich über irgend einen Tip freuen.

Gruß Christian


(Thomas Seifert) #3

Angeblich soll es auch ohne Cronjob gehen.
Klappen denn bei Dir Mails direkt vom php aus?
Sonst versuch doch mal unter den Haupteinstellungen einen SMTP-Server einzutragen.


(Lefdi) #4

Hallo,

auch bei mir klappt das versenden des PDF-Reports nicht.

Hab alles eingestellt, auch einen SMTP-Server eingegeben, aber ich bekomme keine Mails.

Wenn ich den PDF-Report manuell aufrufe (also auf Download klicke) bekomme ich folgende Fehlermeldung:

Warning: imagepng(): open_basedir restriction in effect. File(/tmp/mska_idO81R) is not within the allowed path(s): (/home/www/k015w26/html:/home/www/k015w26/phptmp:/home/www/k015w26/files:/home/www/k015w26/atd:/srv/www/htdocs/k015w26/html:/srv/www/htdocs/k015w26/phptmp:/srv/www/htdocs/k015w26/files:/home/www/k015w26/atd:/usr/share/php5/PEAR/) in /home/www/k015w26/html/statistik/libs/tcpdf/tcpdf.php on line 6921

Kann es an diesem Fehler liegen, dass ich keine Mails erhalte und vor allem, wie kann ich den Fehler beheben…?

Grüße

Lefdi


(Beatgarantie) #5

@Lefdi: der Pfad “/tmp/” muss für open_basedir nutzbar sein. Das lässt sich durch Eintragen des Pfades in die php.ini bewerkstelligen. Da ich dies leider nicht bei mir machen kann, ist das PDF-Modul für mich erst einmal gestorben.


(Lefdi) #6

@Beatgarantie

Was muss ich denn da in die php.ini eintragen…?
Bzw. wo finde ich die php.ini??

Lefdi


(ma67) #7

Mir scheint der Grund woanders zu liegen. Versuch mal bitte diese Ordner zu erstellen:

libs/tcpdf/cache
libs/tcpdf/images

Wenn es dann immer noch nicht funktioniert, diesen Ordnern mal volle Schreibrechte geben (777)

Michael


(Beatgarantie) #8

[quote=ma67 @ Aug 18 2010, 11:14 AM]Mir scheint der Grund woanders zu liegen. Versuch mal bitte diese Ordner zu erstellen:

libs/tcpdf/cache
libs/tcpdf/images

Wenn es dann immer noch nicht funktioniert, diesen Ordnern mal volle Schreibrechte geben (777)

Michael[/quote]

korrekt. Guter Einwand; war die Lösung.


(Lefdi) #9

Supi,

so klappt es bei mir auch.
Jetzt lass ich mich mal überraschen ob das mit dem Mailversand auch hinhaut.

Lefdi


(ma67) #10

Schön, dann ist das ein Bug von PIWIK und diese Ordner sollten standardmäßig existieren.

Hintergrund: es gibt eine Funktion, die diese Ordner überprüft, damit dann dort temporäre Dateien gespeichert werden. Existiert der Ordner nicht, gibt diese Funktion den allgemeinen Temp-Ordner (/tmp) als Pfad zurück. Bei den meisten Webservern hat PHP aber gar keine Zugriffsberechtigung auf diesen Ordner, sondern PHP nutzt für jeden virtuellen Host einen eigenen Temp-Ordner (im Fall oben /home/www/k015w26/phptmp). Und kommt es eben zu dem Fehler.


(Beatgarantie) #11

hab in das entsprechende Ticket geschrieben, dass die 2 Order erstellt werden sollten.


(Lefdi) #12

Hallo,

leider funktioniert der automatisierte Mailversand aber immer noch nicht…:frowning:

Lefdi


(ma67) #13

Stimmt, verschickt wird nichts trotz cronjob…


(ma67) #14

Ich habe jetzt den PDF-Versand hinbekommen. Bei mir lag es daran, dass die Konfiguration des Mailservers (unter Piwik>Einstellungen>Haupteinstellungen) gar nicht verwendet wird (wahrscheinlich ein Bug).

Als Workaround habe ich meine Mailserver-Konfiguration in analytics/Zend/Mail/Transport/Smtp.php hart reingeschrieben:

public function __construct($host = '127.0.0.1', Array $config = array())
{
   if (isset($config['name'])) {
      $this->_name = $config['name'];
   }
   if (isset($config['port'])) {
      $this->_port = $config['port'];
   }
   if (isset($config['auth'])) {
      $this->_auth = $config['auth'];
   }
   $this->_host = $host;
   $this->_config = $config;
        
   // eingefügt
   $this->_name                   = "[Hostname des Servers, auf dem PIWIK läuft]";
   $this->_port                   = 25;
   $this->_auth                   = "Plain";
   $this->_host                   = "[Hostnamen des Mailservers]";
   $this->_config = array();
   $this->_config['username']     = "[Mail-Account Benutzername]";
   $this->_config['password']     = "[Mail-Account Passwort]";
}

(bolero) #15

Habe diesen Thread mit einer Suche nach “open_basedir” gefunden. Leider scheint dieser Fehler im engl. Forum keine Rolle zu spielen, merkwürdig. In jedem Fall existiert er in Piwik 1.1.1 immer noch, d.h. durch das Update wurde die funktionierende PDF-Ausgabe wieder außer Kraft gesetzt. Es handelt sich wohl um PDFReports: TCPDF temporary subject to open_basedir restriction · Issue #1656 · matomo-org/matomo · GitHub , der angeblich nicht existiert. Bekomme jedenfalls keinen Zugriff darauf. Liegt es daran, daß ich dort kein Konto habe? Andere Bug Reports kann ich aber einsehen.