[TYPO3-english] Using mailform from custom extension

David Bruchmann typo3-en at bruchmann-web.de
Mon Aug 17 17:39:40 CEST 2009


----- Ursprüngliche Nachricht -----
Von:        Jan Bednarik <info at bednarik.org>
Gesendet:   Montag, 17. August 2009 17:24:24
An:         typo3-english at lists.netfielders.de
CC:
Betreff:    [TYPO3-english]  Using mailform from custom extension
> Hi,
> 
> I've orginally posted this question to typo3.dev, but nobody answered, 
> so I'm trying it here. Sorry for cross-posting, but I'd really like to 
> head some option on this.
> 
> I'm trying to send an e-mail from an extension of mine. I've defined TS 
> setup for the mailform:
> 
> plugin.tx_productsmail_pi1 {
> mailform < tt_content.mailform.20
> mailform {
> data >
> recipient >
> recipient = info at example.com
> redirect >
> dataArray {
> 10.label = Typ:
> 10.type = title=input,40
> 10.value = title
> 10.required = 1
> 100.type = formtype_mail=submit
> 100.value = Send
> }
> }
> }
> 
> then I render the mailform like this:
> 
> $content = $this->cObj->FORM($conf['mailform.']);
> 
> So far it's OK. The problem is, that no mail is sent. Reason is in 
> tslib_fe::sendFormmail()
> 
> Since TYPO3_CONF_VARS['FE']['secureFormmail'] == true, this piece of 
> code is executed:
> 
> $locData = explode(':',$locationData);
> $record = $this->sys_page->checkRecord($locData[1],$locData[2],1);
> $EMAIL_VARS['recipient'] = $record['subheader'];
> $EMAIL_VARS['recipient_copy'] = 
> $this->extractRecipientCopy($record['bodytext']);
> 
> but since there is no record in any page (as it's TS only), $record will 
> be empty, or at least won't contain any subheader or bodytext.
> 
> I've solved it with setting TYPO3_CONF_VARS['FE']['secureFormmail'] to 
> false (NOT good, dangerous).
> 
> But then the code in the other part of the if-else sets recipient from 
> $EMAIL_VARS, which means that I have to define hidden input like that:
> 
> plugin.tx_productsmail_pi1.mailform.dataArray.200.value = info at example.com
> plugin.tx_productsmail_pi1.mailform.dataArray.200.type = recipient=hidden
> 
> although the recipient is already set. I don't like that recipient is in 
> fact a hidden field.
> 
> Any ideas how to do this the right way?
> 
> Thanks
> 

Hi Jan,

As far as I see you've to create a record from inside your extension 
with the content and save it somewhere in pagetree.
Else you've to use other functions.

Best Regards,
David


More information about the TYPO3-english mailing list