Odesílání emailů – Call to a member function send() on a non-object
- kikinet
- Člen | 35
ali napsal(a):
dumpni si promennou $this->mailer a mrkni co v ni mas
V tom mám tu chybovou hlášku.
Oli napsal(a):
Chyba je v tom, že jestli sis to nenastavoval jinak, tak v komponentě nefunguje nic jiného než composer injection, takže se ti
IMailer
nepředá…
Pravděpodobně nenastavovala. Nicméně netuším moc o čem mluvíš, můžeš mě prosím navést správným směrem?
- kikinet
- Člen | 35
Oli napsal(a):
Pokud ve FormControl nahradím inject* metodu za __constructor hází to pořád stejnou chybovou hlášku.
- enumag
- Člen | 2118
kikinet napsal(a):
Oli napsal(a):
Pokud ve FormControl nahradím inject* metodu za __constructor hází to pořád stejnou chybovou hlášku.
To už musíš mít někde typo nebo podobnou drobnost protože pokud v konstruktoru ten mailer vyžaduješ tak se ti bez něj instance nevytvoří. Ledaže potomek přepisuje konstruktor a nevolá parent.
Editoval enumag (13. 8. 2015 23:16)
- kikinet
- Člen | 35
enumag napsal(a):
kikinet napsal(a):
Oli napsal(a):
Pokud ve FormControl nahradím inject* metodu za __constructor hází to pořád stejnou chybovou hlášku.
To už musíš mít někde typo nebo podobnou drobnost protože pokud v konstruktoru ten mailer vyžaduješ tak se ti bez něj instance nevytvoří. Ledaže potomek přepisuje konstruktor a nevolá parent.
Je to copy – paste. Pokud tam je překlep, nemůžu ho najít…
a
EDIT: private $mailer hlásí Cannot read an undeclared property App\Forms\RegistrationFormControl::$mailer.
Oli napsal(a):
nemáš tam náhodou constructor? správně je jen
__construct
Málem jsem se lekla, že ano :D ale naštěstí ne
Editoval kikinet (14. 8. 2015 0:02)
- kikinet
- Člen | 35
@F.Vesely, @Oli : Ano bylo to tím. Moje chyba.
Nicméně to pořád nefunguje tak, jak by mělo. Exucution time je
neuvěřitelných 60 000ms – 100 000ms. A email se stejně neodešle.
Žádná chyba a dump($this->mailer->send($mail))
hlásí NULL
EDIT: Odpověď na to odesílání může být asi tady
Bude to řešení i času?
Editoval kikinet (14. 8. 2015 0:35)
- kikinet
- Člen | 35
F.Vesely napsal(a):
A pouzivas Nette\Mail\SendmailMailer, nebo Nette\Mail\SmtpMailer?
Používám Nette\Mail\IMailer neboli Nette\Mail\SendmailMailer, ale:
V presenterech a službách nevytvářime mailer ručně, ale pomocí DI si necháme předat Nette\Mail\IMailer.
Editoval kikinet (18. 8. 2015 12:39)