Le mail in PHP con Swift Mailer
Giovedì 15 Luglio 2010 - 08:19
di Kiko

Se state sviluppando una applicazione in PHP e avete bisogno di un solido supporto per la gestione delle mail, solitamente molti developer vi spediranno sul sito di a PHPMailer, senza dubbio fra le librerie più solide. Recentemente mi sono imbattuto, quasi per caso, in Swift Mailer.
La documentazione che potete trovare sul sito ufficiale è molto chiara ed esaustiva. Così come semplice è farne uso. Finora mi ha dato ampia soddisfazione. A titolo di esempio posto un semplicissimo codice per l’invio di una mail:
require_once '/path/of/swiftmailer/lib/swift_required.php';
$mymail = Swift_Message::newInstance()
->setSubject('Subject of this mail')
->setFrom(array('myname@mymail.com' => 'My Name'))
->setTo(array('yourname@yourmail.com' => 'Your Name'))
->setBody('This is the message!');
$mysmtp = Swift_SmtpTransport::newInstance('smtp.mymail.com', 25)
->setUsername('myusername')
->setPassword('mypassword');
$mailer = Swift_Mailer::newInstance($mysmtp);
$bool = $mailer->send($mailer);
Categoria: PHP e Open Source | Permalink
Commenti
1
Ad un’occhiata veloce mi sembra davvero interessante.
Grazie per il suggerimento.# - postato da Diego La Monica - 15 Luglio 2010 - 08:36
2
Se non conosco l’SMTP e volessi affidarmi all’MTA locale?
# - postato da emmebì - 15 Luglio 2010 - 09:26
3
@emmebi
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
Swift è una delle cose migliori disponibili gratuitamente per PHP. Sviluppata seriamente, ad oggetti e completa. Sinceramente non so come faccia la gente ad usare PHPMailer, che è fatto da schifo a confronto…
# - postato da davide - 15 Luglio 2010 - 09:33
4
Tra l’altro da un po’ il project manager del progetto è Fabien Potencier :P
5
@Diego prego, l’ho ritenuto un progetto maturo!
6
@emmebì, non ho capito!
7
Infatti Symfony è passato a SwiftMailer (e non lo sapevo)!
8
piccola correzione che dovresti apportare all’esempio:
$bool = $mailer->send($message);
dovrebbe essere:
$bool = $mailer->send($mymail);
ciao! :)# - postato da Riccardo - 15 Luglio 2010 - 18:51
9
Assolutamente d’accordo, @Riccardo. Mi è sfuggito.
10
Altra corezione, Swift_Mailer->send() non ritorna un boolean ma il numero di indirizzi a cui è stata effettivamente inviata l’email.
# - postato da davide - 16 Luglio 2010 - 10:27
11
@Davide, ergo: se non invia nulla torna zero=false, altrimenti tornerà un numero positivo=true!
12
E’ accettabile soltanto perché PHP è loosely typed :)
# - postato da davide - 16 Luglio 2010 - 14:07
13
@davide eh lo so, ma è comodo!
14
Comunque per i pignoli si può fare:
$bool = !!$mailer->send($mailer);
o
$bool = (bool) $mailer->send($mailer);
:D







