Nette\Mail\Message – ziskani priloh

- JuniorJR
 - Člen | 181
 
Ahoj,
Prosim o radu ohledne vypreparovani seznamu priloh pripojenych k
Nette\Mail\Message. Vytvoril jsem si logovatelneho mailera, ktery
pri odeslani automaticky loguje info o odeslanem mailu a zajima me, jak
z pripravene zpravy dostat ony prilohy, resp. jejich nazvy.
Pri prochazeni api a implementace Nette\Mail\Message mi neni
uplne jasne, jestli to vubec lze.
Resil jste uz nekdo neco podobneho?
Dik za odpovedi,
JR
Editoval JuniorJR (7. 9. 2013 20:17)

- JuniorJR
 - Člen | 181
 
enumag napsal(a):
Koukal jsem na kód a myslím že by to mohlo jít doimplementovat. Zkus poslat pull request.
Blbe je, za ja bych to potreboval uz ted :) prozatim prilohy tedy logovat
nebudu a popremyslim, jak by se to dalo doimplementovat. Otazka je, co presne
vracet pri pouziti $message->getAttachments();?
Jestli staci vracet defakto parametry z
$message->addAttachment(...);, ale v jake podobe? Vnitrne se
z toho vytvori MIME part a nevim, jestli z neho samotneho se lze dopracovat
k onem informacim, ktere bych rad (predevsim nazev souboru).
Editoval JuniorJR (9. 9. 2013 22:14)

- enumag
 - Člen | 2118
 
Ono možná ani nemá smysl to dávat přímo do Nette. A jinak ti nejspíš bude úplně stačit tohle (píšu z hlavy, netestováno):
class Message extends \Nette\Mail\Message
{
	private $files = array();
	public function addAttachment($file, $content = NULL, $contentType = NULL)
	{
		$this->files[] = $file;
		return parent::addAttachment($file, $content, $contentType);
	}
	public function getFiles()
	{
		return $this->files;
	}
}
					Editoval enumag (9. 9. 2013 22:24)

- JuniorJR
 - Člen | 181
 
enumag napsal(a):
Ono možná ani nemá smysl to dávat přímo do Nette. A jinak ti nejspíš bude úplně stačit tohle (píšu z hlavy, netestováno):
`php
class Message extends \Nette\Mail\Message
{
private $files = array();
public function addAttachment($file, $content = NULL, $contentType = NULL)
{
$this->files[] = $file;
parent::addAttachment($file, $content, $contentType);
}
public function getFiles()
{
return $this->files;
}
}
Ano, presne tohle me uz take napadlo. Jen se mi nelibi to, ze v maileru pak budu muset mit neco na zpusob (neprijde mi to 2× ciste, ale stejne to tak asi nakonec udelam):
public function send(Nette\Mail\Message $message)
{
    if ($message instanceof MyNiceMessageClass) {
        // get attachments ...
    }
}
> ```
					Editoval JuniorJR (9. 9. 2013 22:27)