Odesílání e-mailu přes formulář – příloha

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

Zdavím, mám problé s odesíláním souboru jako přílohy e-mailu pomocí formuláře.

Jde o to, že soubor se nahraje, a i odešle, ale bez přípony, tudíž příjemce neví v čem daný soubor otevřít.

<?php
 public function form_onSubmit(AppForm $form)  {
		  $values = $form->values;

		  // Vytvoření šablony
		  $tpl = $this->createTemplate();
		  $tpl->setParams(array_merge($tpl->getParams(), $values));
		  $tpl->setFile(Environment::getVariable('templatesDir') . '/FrontModule /@jobrequestMail.phtml');


		  // Sestavení a odeslání e-mailu
		  $mail = new Mail();
		  $mail->setFrom('mail@mail.cz');
      		  $mail->addTo('mail@mail.cz');
                  $mail->addReplyTo($values['email']);
		  $mail->setSubject('Email s přílohou');
		  $mail->setHtmlBody($tpl);
      $mail->addAttachment($values['cv']);
		  $mail->send();


		  $this->redirect('mailSent');
	 }
?>

Zkoušel jsem hodně možností, ale v Nette jesm nováček. Popř kdyby měl jekdo slitování a čas, tak icq: 272334370.
Moc děkuju

bojovyletoun
Člen | 667
+
0
-

napadá mě akorát, že ty ten soubor bereš rovnou z formuláře → nemůže se stát, že jako dočasný soubor se jmenuje třeba php83C32A.tmp.

Takže buď suoubor přesuň – $values->cv->move(„/bla/“.$neco.), (pak ho smaž).

Druhá a dle mě lepší možnost je nastavit název přímo..Ale jak? Pohledem do zdrojáku: Mail::createAttachment() to jednoduše nepůjde

Co toto $mail->addAttachment("Vaše data.doc",file_get_contents($values['cv'])); ?

případně "vaše data.doc" nahraď $values->cv->name

Editoval bojovyletoun (3. 3. 2011 14:37)

Grep
Člen | 2
+
0
-

Díky ti;-)