Dva mailery ako dve sluzby

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Juraj_
Člen | 22
+
0
-

Ahojte, chcem urobit druhu sluzbu zalozenu na SmtpMailery:

vytvorim si:

testMail:
	class: \Nette\Mail\SmtpMailer
		arguments:
			options:
				timeout : 'x'
				host : 'xxxxx'
				port : 'xxx'
				username : 'xxx'
				password : 'xxx'

a pouzijem ju v druhej sluzbe

Sender:
		class: App\FormsModule\Partners\Sender
		arguments: [@config.someAPI, @config.testMailer]

tak mi vyhadzuje chybu:

Nette\DI\ServiceCreationException

Service 'nette.mail': Multiple services of type Nette\Mail\IMailer found: nette.mailer, config.testMail

zatial ju mam len v konstruktore(skaredy ale funkcny zapis):

//$options = array (
//			'timeout' => 'x',
//			'host' => 'xxxxx',
//			'port' => 'xxx',
//			'username' => 'xxx',
//			'password' => 'xxx'
//		);
//
//		$this->mailer = new \Nette\Mail\SmtpMailer($options);

Neviete mi poradit ako sluzbu upravit, aby fungovala?

tweak
Člen | 9
+
0
-

Ahoj,

potřebuješ stále ten druhý mailer (přes send mail)?
jestli ne, tak si zaregistruj pouze SmtpMailer

https://api.nette.org/…ion.php.html#38

<?php
mail:
	smtp: true
	host: ...
?>

Tím nette řekneš ať si místo Nette\Mail\SendmailMailer vytváří Nette\Mail\SmtpMailer

EDIT:

v constructoru si pak vyžádej IMailer a nech to na autowiringu

Editoval tweak (30. 7. 2015 9:31)

chemix
Nette Core | 1310
+
+1
-

Je treba u jedne (ktera nebude defaultni) vypnout autowire https://play.nette.org/…ici-primarni

autowired: no

Juraj_
Člen | 22
+
0
-

Toto som potreboval, dakujem.