Odesílání e-mailu přes formulář – příloha
- Grep
- Člen | 2
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
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)