Service of type Nette\Mail\SmtpMailer not found – Nette 2.3
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- jasin755
- Člen | 116
Zdravím,
provedl jsem upgrade a Nette 2.3 a začlo mi to házet problém s DI.
Konkrétně:
Service '105_Exsys_Email_EmailService': Service of type Nette\Mail\SmtpMailer needed by Exsys\Email\EmailService::__construct() not found. Did you register it in configuration file?
díval jsem se na namespace a měl by být OK. Ještě radší přikládám composer.json:
{
"repositories" : [
{
"type": "package",
"package":{
"name": "h4kuna/gettext-latte",
"version": "1.4",
"source": {
"url": "https://github.com/jasin755/gettext-latte",
"type": "git",
"reference": "1.3"
},
"autoload": {
"classmap": [""]
}
}
}
],
"require" : {
"nette/nette" : "2.3.0",
"kdyby/doctrine" : "~2.0",
"jkuchar/pdfresponse" : "dev-master",
"h4kuna/gettext-latte" : "1.4.*@dev",
"olicek/google-map-api" : "dev-master",
"jms/serializer" : "dev-master",
"doctrine/search" : "dev-master",
"ruflin/Elastica" : "dev-master"
},
"autoload" : {
"psr-0" : {
"Exsys\\" : "app/Model",
"Nella\\" : "app/Model",
"Extractor\\" : "app/Model"
},
"classmap" : ["app/presenters"]
}
}
- studna
- Člen | 181
Pokud potřebuješ používat SmtpMailer, musíš si ho „zapnout“ https://doc.nette.org/cs/configuring#….
Ve 2.3 je výchozí SendmailMailer,
který odesílá pomocí fce mail()
.
Nejlepší bude, když si konstruktor služby
Exsys\Email\EmailService
upravíš tak, aby příjmal obecné
rozhraní IMailer
namísto konkrétní třídy.