Azioni Adon - SendMail

Questa azione è utilizzata per gestire delle form-to-mail così come configurato in Config.pm (sezione FormsToMail).


Un esempio di una sezione FormsToMail è questo:


$Self->{'FormsToMail'} = {

'key' => {

'MailToType' => 'query',

'MailToQuery' => 'select email from table where id = ?',

'MailToParams' => ['id'],

'MailFromType' => 'param',

'MailFromField' => 'email',

'MailSubjectType' => 'fixed',

'MailSubject' => 'Mail to subject',

'Template' => 'mail_text',

'Attachments' => 2,

'AttachmentsField' => 'file',

'AttachmentsMaxSize' => 1024,

'SmptServer' => 'localhost',

'SmptPort' => '25',

'ErrorPage' => '/adon/static/formtomailerror.html',

'MaxSizeErrorPage' => '/adon/static/formtomailsizeerror.html',

'ThanksPage' => '/adon/static/thanksform.html',

'EmailErrorPage' => '/adon/static/emailerror.html',

'Captcha' => 1,

'CaptchaErrorPage' => '/adon/static/captchaerror.html',

},

};


In questa sezione del file Config.pm, è possibile scrivere uno o più blocchi con differenti etichette-key (la prima chiave nella definizione dell'hash); per ciascuna key ci sono dei parametri che si possono impostare.


MailToType può essere:

  1. fixed: identifica un destnatario fisso, come specificato dal secondo parametro MailToAddress
  2. query: identifica un indirizzo email che è estratto da una query specificata MailToQuery, con i parametri per la query derivati da MailToParams (un puntatore ad un array nel quale sono memorizzati tutti i nomi dei parametri che saranno recuperati a partire dal modulo inviato)
  3. param: identifica un indirizzo mail derivato da un campo della form da inviare, con il nome salvato nel puntatore all'array MailToField.


MailFromType: è identico a MailToType ma riferito all'indirizzo del mittente.


MailSubjectType può essere:

  1. fixed: identifica un oggetto fisso così come specificato dal secondo parametro MailSubject
  2. param: identifica un oggetto derivato da un campo della form da inviare con il nome salvato in MailSubjectField


Template: è il template di testo della mail (tutti i parametri nella form da inviare sono disponibili nel template)

Attachments: il numero massimo di attachment nella form

AttachmentsField: il nome del campo della form che contiene gli attachment

AttachmentsMaxSize: la dimensione massima in KB per ciascun attachment della form

SmptServer: il server che invia la mail (attraverso il protocollo smtp)

SmptPort: la porta unix verso la quale inviare la mail (server smtp)

ErrorPage: la pagina verso la quale l'utente sarà reindirizzato se si verifica un errore

MaxSizeErrorPage: la pagina verso la quale l'utente sarà reindirizzato nel caso in cui intenda allegare un attachment di dimensione superiore, in KB, al valore di AttachmentsMaxSize

ThanksPage: la pagina verso la quale l'utente sarà reindirizzato in caso di invio riuscito