foreach expects array or object as a first argument, so you might want to initialize bcc as an empty array to avoid this warning
On Apr 3, 2:43 pm, "Liebermann, Anja Carolin" <anja.lieberm...@alltours.de> wrote: > Note to self: All that lines are not necessary. What works is: > > <?php > class ErinnerungShell extends Shell { > /** > * List of tasks for this shell > * > * @var array > */ > var $tasks = array('Email'); > var $uses = array('Vertrag'); > > var $Email; > > function main() > { > ....some code... > $this->emailversenden($vertrag); > } > > function emailversenden($vertrag) > { > $user = ....; > $responsibleperson = ....; > $responsiblepersonname = ....; > $responsiblepersonemail = ....; > $username= ....; > $useremail= ....; > > //it looks like somehow set with compact doesn't really work > here > $this->Email->set('user',$user); > $this->Email->set('vertrag',$vertrag); > $this->Email->set('responsibleperson',$responsibleperson); > $this->Email->set('somemoretext',$somemoretext); > > $this->Email->settings(array( > 'from' => 'my...@mydomain.de', > 'template' => 'simple_message2', //this is my email layout under > elements > 'to' => $responsiblepersonname.' <'.$responsiblepersonemail.'>', > 'cc' => $username.' <'.$useremail.'>', > 'subject' => 'Erinnerung: Vertrag kündigen > '.$vertrag['Lieferant']['name'], > 'sendAs' => 'html' > )); > > $this->Email->send(); > }} > > ?> > > This sends me nicely formatted emails from console, although I get an > annoying warning : > PHP Warning: Invalid argument supplied for foreach() in > /usr/share/cake/libs/controller/components/email.php on line 457 > > Line 457 is: > > if (!empty($this->bcc) && $this->delivery != 'smtp') { > $this->__header[] = 'Bcc: ' .implode(', ', > array_map(array($this, '__formatAddress'), $this->bcc)); > } > Well... Bcc is clearly empty in my setup so im am wondering where this error > comes from. > > Any hints are appreciated > > Anja > > -----Ursprüngliche Nachricht----- > Von: cake-php@googlegroups.com [mailto:cake-...@googlegroups.com] Im Auftrag > von Liebermann, Anja Carolin > Gesendet: Freitag, 3. April 2009 12:16 > An: cake-php@googlegroups.com > Betreff: AW: Sending emails in console scripts > > Hi, > > I am just running into the same problem. Have you found a solution yet? > I want to send an email via a shell script and have trouble passing teh body > to the Email component when using the mail functions from the example shell > script "my". I will now try your solution. > > Anja > > -----Ursprüngliche Nachricht----- > Von: cake-php@googlegroups.com [mailto:cake-...@googlegroups.com] Im Auftrag > von goncalo.marr...@gmail.com > Gesendet: Mittwoch, 21. Januar 2009 13:20 > An: CakePHP > Betreff: Sending emails in console scripts > > Hi. > > I'm writing a console shell that needs to send emails. I want to use the > EmailComponent but the only way i've managed to get it to work is to manually > create an instance of AppController an pass it to a manually created instance > of EmailComponent. > > My code: > > App::import('Core', 'Controller'); > App::import('Controller', 'AppController'); $AppController = new > AppController(); $AppController->constructClasses(); > > App::import('Component', 'Email'); > $Email = new EmailComponent(); > $Email->initialize($AppController); > $Email->startup($AppController); > > Is there a simpler/more elegant way of achieving this? Shouldn't Shell have a > $components variable the same way it has a $uses variable? > > Thanks in advance. > > Gonçalo Marrafa --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---