Inviare una email con le api di Joomla
Per prima cosa occorre creare un oggetto di tipo JMail:$mailer = JFactory::getMailer();
Il passo successivo è quello di inserire il mittente, che andremo a recuperare dalla configurazione globale di Joomla:
$config = JFactory::getConfig();
$sender = array(
$config->getValue('config.mailfrom'),
$config->getValue('config.fromname')
);
$mailer->setSender($sender);
successivamente inseriremo il destinatario della email:
$mailer->addRecipient('indirizzo@domain.it');
Se avete bisogno di inserire molti destinatari, basterà inserirli in un array:
$recipients = array(
'primo@domain.com',
'secondo@domain.com',
'terzo@domain.com'
);
$mailer->addRecipient($recipients);
Ora con le funzioni setSubject e setBody imposteremo l'oggetto della email e il testo in essa contenuto:
$mailer->setSubject('Subject of the email');
$mailer->setBody('Sample text');
Se volte inviare una mail con testo in HTML basta scrivere:
$mailer->isHTML(true);
Mentre per la codifica:
$mailer->Encoding = 'base64';
Volendo potete inserire un allegato con la funzione addAttachment. Per il percorso del file da allegare vi consiglio di utilizzare le costanti di Joomla:
$mailer->addAttachment( JPATH_COMPONENT.DS.'files'.DS.'file.zip'
);
Infine non ci rimane che inviare l'email:
$send = $mailer->Send();
if ($send !== true) {
echo 'Error sending email: '.$send->message;
}
else {
echo 'Mail sent';
}
Nessun commento:
Posta un commento