2013-05-11 11 views
9

Gdy użytkownik rejestruje konta, na automatyczne e-maile (które można ustawić w admin/config/people/accounts) nie są przeniesienia zdefiniowanych zmiennych o nazwę użytkownika, email, itpDrupal e-mail nie zmienne pojawiające

Na przykład. Oto co mam ustawić na jeden adres e-mail:

[user: nazwa]

Dziękujemy za rejestrację w [site: nazwa]. Twoja aplikacja dla konta jest obecnie oczekująca na zatwierdzenie. Po zatwierdzeniu otrzymasz kolejną wiadomość e-mail zawierającą informacje o tym, jak się zalogować, ustawić hasło i inne szczegóły.

- [site: nazwa] Zespół

takie zmienne w nawiasach po prostu nie są wyświetlane. E-mail jest wysyłany jak zwykle, ale tam, gdzie są te zmienne, nic nie zostanie wstawione. Czy jest coś, co muszę najpierw włączyć?

+1

Czy masz zainstalowany moduł Token i jest on włączony? – Clive

+0

Nie, przyjrzę się temu. –

+0

Zainstalowałem go i włączyłem. Teraz dostaję dziwne uwagi PHP związane z tym i problem nadal istnieje –

Odpowiedz

0

Wydaje się, że masz problemy z błędną lub utraty czegoś .Do zobaczenia configs z HTML poczty w here, zobaczyć here także spróbuj zaktualizować go za pomocą update.php!

0

- odczytać z php.net techniczne -,

  • myślę, że domyślnie, niektórzy dostawcy HOST nie obsługuje kilka filtrów PHP (LUB Podobnie) tak (ITS tylko ZAŁOŻENIE!) MOŻE BYĆ, FILTER_SANITIZE_EMAIL UŻYWANE DO USUNIĘCIA WSZYSTKICH CHARAKTERÓW, Z WYJĄTKIEM LISTÓW, CYFROWYCH I! # $% & '* + -/=?^_ `{|} ~ @. [], WŁĄCZONO. TAK WŁAŚNIE SPRAWDŹ!
1

Wymiana tokenów w mailach odbywa się w linii 2815 pliku user.module (modules/user/user.module). Możesz dodać następującą linię kodu

drupal_set_message("Text: $text, Variables: " . print_r($variables, TRUE) . ", Language: $language); 

przed linią, która mówi

return token_replace($text, $variables, array('language' => $language, 'callback' => 'user_mail_tokens', 'sanitize' => FALSE, 'clear' => TRUE)); 

który powie ci jak wiadomości, co się dzieje z tokena wydania zastępczego. Jeśli możesz publikować wiadomości, które widzisz tutaj, pomogę rozwiązać problem.