Pagina 1 van 1

gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 12:01
door Janošik
Is het mogelijk om de gebruikersnaam op te nemen in een massa-email?
Ik heb al iets als volgt geprobeerd:

Beste {USERNAME},
of
Beste {USER_NAME},

waarbij het gedeelte tussen haakjes zou moeten vervangen worden door de respektievelijke gebruikersnaam.
Dit werkt echter niet...

Is er een manier om zoiets te doen, of moet ik daar misschien een MOD voor installeren?

PS: het lukt mij trouwens alleen om massa-email te versturen met gebruik van SMTP

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 12:44
door remcoboy1479
Ik heb het niet getest maar misschien helpt dit : http://wiki.phpbb.nl/Email-templates ?

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 15:54
door BetaDevil
Open includes/acp/acp_email.php

Zoek

Code: Selecteer alles

                    $messenger->assign_vars(array(
                        'CONTACT_EMAIL' => $config['board_contact'],
                        'MESSAGE'        => htmlspecialchars_decode($message))
                    ); 
Vervang dit met

Code: Selecteer alles

                    $message_user = str_replace('{USERNAME', $email_list[$i][$j]['name'], $message);

                    $messenger->assign_vars(array(
                        'CONTACT_EMAIL' => $config['board_contact'],
                        'MESSAGE'        => htmlspecialchars_decode($message_user))
                    ); 
Het zou nu moeten werken maar ik heb het niet getest ;)

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 20:27
door Janošik
@remcoboy1479: bedankt! ik heb nu de email-sjabloontjes gevonden, en die zijn natuurlijk heel nuttig :!:

@BetaDevil: ik het het getest, maar het werkt niet...
(De ontbrekende accolade achter USERNAME heb ik uiteraard wel toegevoegd ;) )
Als ik er dit van maak:

Code: Selecteer alles

                    $message_user = str_replace('{USERNAME}', "HierMoetDeNaam", $message);

                    $messenger->assign_vars(array(
                        'CONTACT_EMAIL' => $config['board_contact'],
                        'MESSAGE'        => htmlspecialchars_decode($message_user))
                    );  
en in de te verzenden email Beste {USERNAME}, type,
dan komt er in de ontvangen email WEL Beste HierMoetDeNaam,.

Ik heb ook het volgende geprobeerd:

Code: Selecteer alles

                    $messenger->assign_vars(array(
                        'USERNAME'      => $email_list[$i][$j]['name'],
                        'CONTACT_EMAIL' => $config['board_contact'],
                        'MESSAGE'       => htmlspecialchars_decode($message))
                    );  
en in language/nl/email/admin_send_email.txt de tekst Beste {USERNAME}, toegevoegd, maar ook dat werkt niet!
Op dezelfde manier heb ik er volgende van gemaakt:

Code: Selecteer alles

                    $messenger->assign_vars(array(
                        'USERNAME'      => "HierMoetDeNaam",
                        'CONTACT_EMAIL' => $config['board_contact'],
                        'MESSAGE'       => htmlspecialchars_decode($message))
                    );   
en dan krijg ik in de ontvangen email weer Beste HierMoetDeNaam,

Het lijkt mij dus dat $email_list[$i][$j]['name'] waar we het nu gebruiken al terug leeg is?
Ofwel klopt er iets niet met de waarden van $i en $j ?
Ik heb wel redelijk wat ervaring met PHP, maar blijkbaar niet genoeg om hier zelf uit te geraken :roll:

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 20:50
door Janošik
Net volgende regel gezien

Code: Selecteer alles

$email_list[$j][$i]['name'] = $row['username']; 
waarbij $i en $j anders staan dan in de geboden oplossing, maar als ik die ook zo aanpas, werkt het nog steeds niet...

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 21:42
door BetaDevil
Nu ik even mijn code bekijk zag ik dat ik helemaal fout zat, het is wel mogelijk maar dan moet naar elke gebruiker apart een e-mail gestuurd worden wat het allemaal een stuk langzamer maakt :|

Re: gebruikersnaam in massa-email

Geplaatst: 30 jul 2008, 21:53
door Janošik
jep... ik was net in dezelfde richting aan't denken.
De regel:

Code: Selecteer alles

$message_user = str_replace('{USERNAME', $email_list[$j][$i]['name'], $message); 
staat nu niet binnen een for($j...)-lus, en ik denk dat $j dus ook geen geldige waarde heeft op dat ogenblik...
Ik heb nog een paar ideetjes die ik wil uitproberen. Ik laat wel weten of het al dan niet lukt ;)

Re: gebruikersnaam in massa-email

Geplaatst: 31 jul 2008, 05:37
door Janošik
Met volgende methode lukt het:
- Ga naar Beheerderspaneel>Algemeen>Instellingen e-mails en maak E-mail pakketgrootte = 1
- Open includes/acp/acp_email.php
- zoek

Code: Selecteer alles

    $max_chunk_size = 50; 
-Vervang dit met

Code: Selecteer alles

    $max_chunk_size = 1; 
- zoek

Code: Selecteer alles

    $messenger->assign_vars(array(
        'CONTACT_EMAIL'  => $config['board_contact'],
        'MESSAGE'        => htmlspecialchars_decode($message))
    ); 
-Vervang dit met

Code: Selecteer alles

    $messenger->assign_vars(array(
        'USERNAME'       => $email_list[$i][0]['name'],
        'CONTACT_EMAIL'  => $config['board_contact'],
        'MESSAGE'        => htmlspecialchars_decode($message))
    ); 
- Open language/nl/email/admin_send_email.txt
- Voeg toe: Beste {USERNAME},

Ik heb het getest met 10 gebruikers, en dat lukte prima. Ik vraag me wel af hoe dit gaat reageren als ik een mail wil sturen naar AL onze leden (ca 1500)???

Re: gebruikersnaam in massa-email

Geplaatst: 15 mar 2013, 21:25
door bassiebas
Net zelf uitgevogeld en getest:
Om {USERNAME} te kunnen gebruiken in de berichten zelf, in plaats van je e-mailtemplate file, gebruik dan onderstaande code:

- Ga naar Beheerderspaneel>Algemeen>Instellingen e-mails en maak E-mail pakketgrootte = 1
- Open includes/acp/acp_email.php
- zoek

Code: Selecteer alles

    $max_chunk_size = (int) $config['email_max_chunk_size'];  
-Vervang dit met

Code: Selecteer alles

    $max_chunk_size = 1;  
- zoek

Code: Selecteer alles

    $messenger->assign_vars(array(
        'CONTACT_EMAIL'  => $config['board_contact'],
        'MESSAGE'        => htmlspecialchars_decode($message))
    );  
-Vervang dit met

Code: Selecteer alles

    $messenger->assign_vars(array(
        'CONTACT_EMAIL'  => $config['board_contact'],
        'MESSAGE'        => htmlspecialchars_decode(str_replace('{USERNAME}', $email_list[$i][0]['name'], $message)))
    );  
Dit werkt sowieso met PHPBB 3.0.11