2016-06-15 13 views
0

Das Problem ist, dass Mailing auf meiner Website funktioniert. Es Code ist Mail an zu sendenWie kann ich Drupal Logs überprüfen

.... 

$params['subject'] = $mail_subject; 
    $params['body'] = $mail_body; 
    $to = '[email protected]' 
    $from = '[email protected]'; 
    $lang = language_default(); 

drupal_mail('everest_mail', 'html_mail', $to, $lang, $params, $from, false); 

.... 

Es benutzerdefinierte Code Mail-Modul

<?php 

class EverestMailSystem extends DefaultMailSystem { 
    public function format(array $message) { 
    $message['body'] = implode("\n\n", $message['body']); 
    $message['body'] = drupal_wrap_mail($message['body']); 
    return $message; 
    } 
} 

function everest_mail_mail($key, &$message, $params) { 
    switch ($key) { 
    case 'html_mail': 
     $message['headers']['Content-Type'] = 'text/html; charset=UTF-8;'; 
     $message['subject'] = $params['subject']; 
     $message['body'][] = $params['body']; 
     break; 
    } 
} 

?> 

Auf den ersten Blick ist sollte alles funktionieren. Es besteht der Verdacht, dass das Problem außerhalb des Moduls liegt, als das Senden von Nachrichten an die Arbeit bis zum letzten Update das Aussehen der Site (ich habe nicht am Update teilgenommen). Da das Modul nicht von mir geschrieben wurde, brauche ich die Meinung eines erfahreneren Programmierers als ich.

In jedem Fall würde ich gerne wissen. Wo finde ich in meinem Fall die Log-Site nützlich? Und mit ihrer Hilfe einen Fehler zu finden?

Vielen Dank.

+0

Was geht auf Berichte hilft nutzen zu einfach -> Aktuelle Meldungen aus dem Admin-Menü protokollieren? – MilanG

Antwort

0

Drupal verwendet ein Modul namens Watchdog zur Protokollierung (D8 und früher). Es gibt ein paar Möglichkeiten, diese Protokolle zuzugreifen:

  • Wenn Sie Drush verwenden, können Sie einfach drush ws geben Sie können eine Liste der letzten 10 (ish) Log-Einträge zu sehen. (Profi-Tipp: jeder Protokolleintrag hat eine ID und wenn Sie drush ws [ID] eingeben, können Sie weitere Details sehen)
  • Es gibt ein Modul, das mit Drupal "Datenbankprotokolle" oder "DB-Protokolle" geliefert wird. Wenn Sie dieses Modul aktivieren, erhalten Sie unter dem Menüpunkt "Bericht" die Seite "Zuletzt protokollierte Meldungen anzeigen". Aktivieren Sie dieses Modul NICHT an einer Produktionsstätte, außer als absolutes letztes Mittel.
  • Ich bin zu 99% sicher, dass die Watchdog-Logs von Drupal in Ihrem Systemprotokoll gespeichert sind, also sollten Sie sie auch dort einbinden können. In OSX (ähem) MacOS können Sie die Konsole-Anwendung verwenden Protokolle anzuzeigen, oder einfach nur tail auf der Kommandozeile Schwanz Protokolle Ihr System

Hoffnung, die