1. Home
  2. Knowledge base
  3. E-mail
  4. E-mailcampagnes versturen met een webhosting pakket (via PEAR)

E-mailcampagnes versturen met een webhosting pakket (via PEAR)

E-mailcampagnes versturen met een webhosting pakket (via PEAR)

PEAR is de perfecte keuze om jouw email marketingcampagnes te vereenvoudigen. PEAR is echter niet standaard op onze servers geïnstalleerd. Je moet daarom eerst zelf een kleine setup uitvoeren. Volg de onderstaande stappen om PEAR te installeren en te configureren.

Installatie

NB: Je kunt deze installatie enkel zelf uitvoeren indien je SSH toegang hebt. 

NB: In de code van het voorbeeld en de screen output gebruiken we de hosting accountnaam “ninefortwobe” omdat we PEAR installeren op de ninefortwo.be hosting. Let er dus op dat je ‘ninfortwobe’ vervangt door jouw eigen accountnaam. Dat is de domeinnaam van de hosting zonder de punten (dots) erin.

Je moet de installatie van PEAR uitvoeren in de root van de hosting (de directory boven de “www” map). Je kan naar deze map gaan via de symlink “site”
cd /site

Eerst moet het go-pear.phar pakket gedownload worden om de installatie op te starten:

    curl -O https://pear.php.net/go-pear.phar
    php go-pear.phar

Wanneer je het pakket hebt, kan je overgaan tot de installatie. Druk gewoon op Enter om verder te gaan.

    server@com-linssh001:~# php go-pear.phar 
    Below is a suggested file layout for your new PEAR installation.  To
    change individual locations, type the number in front of the
    directory.  Type 'all' to change all of them or simply press Enter to    
    accept these locations.

    1. Installation base ($prefix)                                   : /data/sites/web/ninefortwobe/pear
    2. Temporary directory for processing                   : /tmp/pear/install
    3. Temporary directory for downloads                   : /tmp/pear/install
    4. Binaries directory                                               : /data/sites/web/ninefortwobe/pear/bin
    5. PHP code directory ($php_dir)                          : /data/sites/web/ninefortwobe/pear/share/pear
    6. Documentation directory                                   : /data/sites/web/ninefortwobe/pear/docs
    7. Data directory                                                     : /data/sites/web/ninefortwobe/pear/data
    8. User-modifiable configuration files directory     : /data/sites/web/ninefortwobe/pear/cfg
    9. Public Web Files directory                                  : /data/sites/web/ninefortwobe/pear/www
    10. Tests directory                                                  : /data/sites/web/ninefortwobe/pear/tests
    11. Name of configuration file                                : /data/sites/web/ninefortwobe/.pearrc

    1-11, 'all' or Enter to continue:

PEAR wil nu de include_path van de CLI wijzigen. Doe dit NIET – druk op ‘ n’ om deze stap over te slaan.

    Beginning install...
    Configuration written to /data/sites/web/ninefortwobe/.pearrc...
    Initialized registry...
    Preparing to install...
    installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.7.tar...
    installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.3.0.tar...
    installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.9.4.tar...
    installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.4.tar...
    installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.2.1.tar...
    install ok: channel://pear.php.net/Archive_Tar-1.3.7
    install ok: channel://pear.php.net/Console_Getopt-1.3.0
    install ok: channel://pear.php.net/Structures_Graph-1.0.4
    install ok: channel://pear.php.net/XML_Util-1.2.1
    install ok: channel://pear.php.net/PEAR-1.9.4
    PEAR: Optional feature webinstaller available (PEAR's web-based installer)
    PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
    PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
    PEAR: To install optional features use "pear install pear/PEAR#featurename"

    ******************************************************************************
    WARNING!  The include_path defined in the currently used php.ini does not
    contain the PEAR PHP directory you just specified:
    </data/sites/web/ninefortwobe/pear/share/pear>
    If the specified directory is also not in the include_path used by
    your scripts, you will have problems getting any PEAR packages working.


    Would you like to alter php.ini </etc/php5/cli/php.ini>? [Y/n] : n

Nu zie je dit. Druk op ‘Enter’ om verder te gaan.

    I will add a workaround for this in the 'pear' command to make sure
    the installer works, but please look over your php.ini or Apache
    configuration to make sure /data/sites/web/ninefortwobe/pear/share/pear is in your include_path.

    Current include path                      : .:/usr/share/php:/usr/share/pear
    Configured directory                      : /data/sites/web/ninefortwobe/pear/share/pear
    Currently used php.ini (guess)       : /etc/php5/cli/php.ini
    Press Enter to continue:

Tot slot krijg je de bevestiging van de installatie:

    ** WARNING! Old version found at /data/sites/web/thijsferynnet/pear/bin, please remove it or be
    sure to use the new /data/sites/web/thijsferynnet/pear/bin/pear command

    The 'pear' command is now at your service at /data/sites/web/thijsferynnet/pear/bin/pear

    ** The 'pear' command is not currently in your PATH, so you need to
    ** use '/data/sites/web/thijsferynnet/pear/bin/pear' until you have added
    ** '/data/sites/web/thijsferynnet/pear/bin' to your PATH environment variable.

    Run it without parameters to see the available actions, try 'pear list'
    to see what packages are installed, or 'pear help' for help.

    For more information about PEAR, see:

    http://pear.php.net/faq.php
    http://pear.php.net/manual/

    Thanks for using go-pear!

De package manager gebruiken

Nu PEAR geïnstalleerd is, kan je de pakketten installeren. Om de mail functionaliteit te verkrijgen, voer je het volgende commando uit (vergeet niet om ‘ninefortwobe’ te vervangen door jouw accountnaam zonder de puntjes):

    /data/sites/web/ninefortwobe/pear/bin/pear install mail

Je krijgt deze output:

    Did not download optional dependencies: pear/Net_SMTP, use --alldeps to download
    automatically
    pear/Mail can optionally use package "pear/Net_SMTP" (version >= 1.4.1)
    downloading Mail-1.2.0.tgz ...
    Starting to download Mail-1.2.0.tgz (23,214 bytes)
    ........done: 23,214 bytes
    install ok: channel://pear.php.net/Mail-1.2.0

De pakketten zelf staan in /data/sites/web/ninefortwobe/pear/share/pear.

Include_path aanpassn

Om PEAR effectief te gebruiken moet je het include_path aanpassen. Ontwikkelaars kunnen dit in hun code bewerken met deze bekende truc:

<?php
set_include_path(implode(PATH_SEPARATOR, array(
    realpath( '../pear/share/pear'),
    get_include_path(),
)));

Of je kan include_path toevoegen aan het ‘PHP settings’ gedeelte van het controlepaneel van jouw hosting in het controlepaneel:

    /data/sites/web/ninefortwobe/pear/share/pear

Tip: Je kan dit doen via Mijn Producten >> Web Hosting >> Hosting Details >> PHP Settings >> Include paths

E-mailing

Zodra PEAR en Mail module geïnstalleerd zijn moet je ook de module Net_SMTP installeren indien je emails wil zenden via een relay server met authenticatie. Gebruik hiervoor het volgende commando:

    /site/pear/bin/pear install Net_SMTP

Hieronder vind je een voorbeeld van een PHP-script voor het verzenden van e-mails met authenticatie:

OPMERKING: Op een Linux hosting wordt alle SMTP-verkeer dat door poort 25 gaat, doorverwezen naar de standaard relay server van de hosting cluster (relay.webhosting.be). Om ervoor te zorgen dat je jouw eigen SMPT-server gebruikt moet je een alternatieve poort gebruiken (2525 in het voorbeeld hieronder). 

<?php
        include("Mail.php");
        /* mail setup recipients, subject etc */
        $recipients = "info@ninefortwo.be";
        $headers["From"] = "info@ninefortwo.be";
        $headers["To"] = "info@ninefortwo.be";
        $headers["Subject"] = "Email subject";
        $mailmsg = "Hello, This is a check.";
        /* SMTP server name, port, user/passwd */
        $smtpinfo["host"] = "mailing.ninefortwo.be";
        $smtpinfo["port"] = "2525";
        $smtpinfo["auth"] = true;
        $smtpinfo["username"] = "id111111_ninefortwobe";
        $smtpinfo["password"] = "$tr0ngPa$worD";
        /* Create the mail object using the Mail::factory method */
        $mail_object =& Mail::factory("smtp", $smtpinfo);
        /* Ok send mail */
        $mail_object->send($recipients, $headers, $mailmsg);
?>
Geüpdatet op 23 november 2023

Heeft dit artikel jou geholpen?

Verwante artikels