Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21068

Re: inviare email 1 volta a settimana o un x giorno del mese

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: inviare email 1 volta a settimana o un x giorno del mese
Date 2016-08-05 10:27 +0100
Message-ID <e0j4fgFlntnU1@mid.individual.net> (permalink)
References <nnvlbe$1i9n$1@gioia.aioe.org> <ftq6qb9735lpmlksgudv7bdgr2hvcnd2rr@L.Serni> <no1j7n$1c4k$1@gioia.aioe.org>

Show all headers | View raw


On 05/08/2016 09:37, alex wrote:
> Il 04/08/2016 18:22, Leonardo Serni ha scritto:
>> On Thu, 4 Aug 2016 17:01:05 +0200, alex <alex@nomailno.it> wrote:
>>
>>> che codice x far inviare una email con del testo xxxx
>>> ad esempio
>>> una volta alla settimaa
>>> una volta al mese es il primo lunedi o il primo del mese
>>> o solo in alcuni mesi dell'anno
>>
>> Direi niente a che vedere con il PHP: qui ti serve ma un buon crontab.
>>
>> Leonardo
>>
>
> dimenticato di specificare che va inserito dentro una funzione php e
> deve funzionare solo quando viene usata tala funzione;
> per cui se la funzione non è utilizzata non deve fare niente;
> se invece è utilizzata va a verificare le date programmate

In meta-codice:

$lastSent = $trackerDb->getLastTimeSent($mailType);
if ($lastSent < time() - $days * 60 * 60) {
   mail($params...);
   $trackerDb->setLastTimeSentToNow($mailType);
}

Cambia l'if con la condizione che ti serve.

Se devi generalizzare molto e hai diverse cose da controllare, puoi 
wrappare questa logica in una funzione dentro un oggetto che implementa 
un'interfaccia:

interface CronSender {
   public function sendIfItsTime($to, $subject, $body, ...);
}

class SendWeekly implements CronSender {
  public function sendIfItsTime($to, $subject, $body, ...) {
   $lastSent = $this->trackerDb->getLastTimeSent($mailType);
   if ($lastSent < time() - 7 * 60 * 60) {
    mail($params...);
    $this->trackerDb->setLastTimeSentToNow($mailType);
  }
}


Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

inviare email 1 volta a settimana o un x giorno del mese alex <alex@nomailno.it> - 2016-08-04 17:01 +0200
  Re: inviare email 1 volta a settimana o un x giorno del mese Leonardo Serni <lserni@gmail.com> - 2016-08-04 18:22 +0200
    Re: inviare email 1 volta a settimana o un x giorno del mese alex <alex@nomailno.it> - 2016-08-05 10:37 +0200
      Re: inviare email 1 volta a settimana o un x giorno del mese Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-05 10:27 +0100
        Re: inviare email 1 volta a settimana o un x giorno del mese alex <alex@nomailno.it> - 2016-08-05 16:34 +0200
          Re: inviare email 1 volta a settimana o un x giorno del mese Alessandro Pellizzari <shuriken@amiran.it> - 2016-08-06 17:35 +0000
  Re: inviare email 1 volta a settimana o un x giorno del mese maryma <maryma@maryma.ma> - 2016-08-13 12:48 +0200

csiph-web